[머신러닝] 01. 머신러닝이란?

2025. 12. 20. 16:08·AI

이 글은 스탠퍼드 대학교의 CS229 강의 자료를 바탕으로 작성되었습니다.

머신러닝이란?

Field of study that gives computers the ability to learn without being explicitly programmed. (Arthur Samuel 1959)
컴퓨터가 명시적으로 프로그래밍되지 않고 학습할 수 있는 능력을 제공하는 학문 분야를 의미한다.

 

인공지능 > 머신러닝 > 딥러닝

인공지능의 범주 안에 머신러닝이 포함되고 그 안에 딥러닝이 포함된다. 이 글에서는 머신러닝에 대해 설명한다.

머신러닝의 종류

  • 지도학습: 훈련 데이터에 레이블이 포함됨
  • 비지도학습: 훈련데이터에 레이블이 없음 § 준지도학습: 일부 레이블이 있는 데이터를 사용
  • 강화학습: 주어진 환경(environment)에서 행동(action)을 수행하고 관찰하여 그 결과 얻게 되는 보상(reward)을 통해 다음 행동을 결정

Supervised Learning(지도학습)

Regression 데이터 예시
Classification 데이터 예시

위와 같은 데이터가 존재한다고 가정한다.

Learning(학습): 데이터 (x, y)에 대하여, x -> y

Training example : $(x^i,y^i)$

데이터는 i번째 데이터에 대해 x 값에 대한 y 라벨을 위와 같이 정의할 수 있다.

Training data set: $ \left\{ (x^i,y^i); i= 1,...,m \right\}$

학습 데이터 셋은 이러한 데이터가 m개 있다고 가정할 때 위와 같이 정의할 수 있다.

회귀와 분류

Regrssion(회귀): 데이터 x를 통해 y의 값을 예측

Classification(분류): 데이터 x를 통해 y를 분류

머신러닝은 크게 2가지 방법으로 나뉜다. 데이터 x에 대해 y가 어느 정도 값이 될지 예측하는 회귀와 데이터 x에 대해 y가 어디에 속하는지 예측하는 분류이다. 예를 들면, 회귀는 A반의 공부 시간과 성적 점수에 대한 데이터를 가지고 있다고 가정하면 x를 공부 시간, y를 성적 점수로 두고 학습하여 어느 학생의 공부 시간이 주어졌을 때 이 학생의 점수가 몇 점인지를 예측하는 과정이다.

반면 분류는 공부 시간과 합격 여부에 대한 데이터를 가지고 있다고 가정했을 때 x를 공부 시간, y를 합격 여부로 두고 학습하여 어느 학생의 공부 시간이 주어졌을 때 이 학생이 합격할지 여부를 예측하는 과정이다.

즉 지도학습이란, 입력 x와 레이블(정답) y를 함께 훈련에 사용하고, 학습 알고리즘을 통해 새로운 입력 x가 주어질 때 y를 획득하는 과정이다.

지도학습

위 그림을 통해 다시 지도학습을 설명하자면, Training set(데이터셋)이 주어지면 Learning algorithm을 통해 데이터셋을 학습하고 가설 h를 생성한다. 새로운 입력 x가 주어지면 가설 h를 통해 y를 예측한다.

Unsupervised Learning (비지도 학습)

비지도 학습

데이터에 레이블(정답) y 없이 입력 데이터 셋을 통해 데이터의 특징 또는 의미를 추출하는 것을 말한다. 즉 정답이 없는 데이터가 주어졌을 때 특정 알고리즘을 사용하여 데이터 간에 경계를 생성하고 분류하여 데이터의 특징을 추출하는 것을 의미한다.

저작자표시 (새창열림)

'AI' 카테고리의 다른 글

Hailo Data Compiler 사용  (0) 2025.12.18
Hailo 관련 SW 설치  (2) 2025.12.18
[YOLO] COCO 데이터 형식에서 YOLO 데이터 형식으로 바꾸기  (0) 2025.02.11
[YOLOv8] custom training하여 바닥 Instance Segmentation하기  (0) 2025.02.10
[YOLOv7] custom training  (2) 2023.01.13
'AI' 카테고리의 다른 글
  • Hailo Data Compiler 사용
  • Hailo 관련 SW 설치
  • [YOLO] COCO 데이터 형식에서 YOLO 데이터 형식으로 바꾸기
  • [YOLOv8] custom training하여 바닥 Instance Segmentation하기
Tae-Jun
Tae-Jun
  • Tae-Jun
    Tae-Jun
    Tae-Jun
  • 전체
    오늘
    어제
    • IT (25)
      • 언어 (6)
        • javascript (1)
        • python (4)
        • MySQL (1)
      • 프레임워크 (6)
        • react (1)
        • Android studio (1)
        • nodejs (1)
        • react-native (1)
        • docker (2)
      • AI (7)
      • 알고리즘 (4)
        • 개념 (3)
        • 문제풀이 (1)
      • 프로젝트 (1)
        • AWS (1)
        • 결과 (0)
      • MLOps (1)
  • 블로그 메뉴

    • 홈
    • 태그
  • 링크

    • 홈페이지
    • github
  • 공지사항

  • 인기 글

  • 태그

    SiLU
    data compiler
    Python
    자료구조
    ultralytics
    이미지 사라짐
    model build
    hailo
    splitlines()
    docker
    flask
    알고리즘
    C
    JWT
    custom training
    gpu 사용량
    image pull policy
    \b 제거
    YOLOv8
    RefreshToken
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.5
Tae-Jun
[머신러닝] 01. 머신러닝이란?
상단으로

티스토리툴바