1. 머신 러닝이란?
- 일종의 소프트웨어. explicit programming
- 어떤 경우에는 explicit 하게 코딩하기 힘들다.
- 가령 스팸 필터링의 경우, 경우의 수가 너무 많기 때문에 일일이 지정하기 어렵다.
- 또 자동운전도 마찬가지이다.
- => 일일이 프로그래밍 하지 말고, 어떤 현상에서 자연스럽게 배우게 하자! => 학습
학습 유형
supervised
- 하나의 정해져 있는 데이터(트레이닝 셋)을 주고 학습
- 고양이인지 강아지인지 분류하는 것
- => 미리 고양이인지 강아지인지 레이블 되어 있는 데이터를 사용하게 된다.
- 일반적인 문제해결 방식.
- ex) 이미지 라벨링, 스팸 분류, 점수 예측 등
training data set
- 이미 답(레이블)이 정해져 있는 데이터가 있다.
- x : feature(특징)
- y : 정답 레이블
예측
- 학습 이후 ML에서 모델이 발생하게 된다. 이때 x_test를 주게 되면 y를 예측해준다.
- ex) 알파고
unsupervised
- 레이블이 정해져 있지 않고, 데이터를 보고 스스로 학습한다.
- 정답(y)이 없으므로 구조를 찾는 데 초점을 둔다.
- 주로 하는 일
- 군집화(clustering) : 비슷한 것끼리 묶기
- 차원축소(dimensionality reduction) : 중요한 축만 남겨 단순화
- 이상치 탐지(anomaly detection) : 다른 것들과 동떨어진 점 찾기
- ex)
- 고객 데이터를 레이블 없이 세그먼트로 묶는다.
- 뉴스 기사들을 주제별로 자동 분류한다.
- 고차원 데이터에서 핵심 패턴만 남겨 시각화한다.
결과에 따른 타입
- regression (: 회귀) (regression toward the mean : 평균 회귀) : 범위를 예측하는 것
- binary classification : yes/no 이진 분류
- multi-label classification : A, B, C 등 클래스 분류
출처: 모두를 위한 딥러닝 강좌 2
https://www.youtube.com/watch?v=7eldOrjQVi0&list=PLQ28Nx3M4Jrguyuwg4xe9d9t2XE639e5C