ML (머신러닝) 이란?
일종의 소프트웨어 (입력기반 데이터를 보여주는 것 - explicit programming)
explicit programming의 한계 - 룰이 너무 많다!
spam filter (스팸 필터)
자동 운전
하나하나 프로그래밍하지 말고, 프로그램이 스스로 알아서 학습하면 어떨까?
이런 생각을 통해 머신러닝과 딥러닝이 탄생한 것!
머신러닝 2가지
Supervised learning
어떤 하나의 정해진 데이터(training set - 이미 label을 가지고 있음)을 가지고 러닝하는 것
ex. 이미지를 주고, 개인지 고양이인지 맞추기!
Unsupervised learning
label을 가지고 있지 않은 데이터 (데이터를 통해 스스로 학습을 해야함)
ex. 구글 뉴스 그룹핑(유사 뉴스 모으기), 비슷한 단어끼리 모으기
수업에서는 주로 Supervised learning에 대해 다룰 것이다.
이미지 labeling : 이미지 태그로 학습
이메일 스팸 필터 : 스팸 메일 구별 학습
성적 예측 : 이전 성적과 시간 소비로 학습
Training data set이란?
머신러닝을 만들기 위해, 기존에 주어진 값들로 학습을 시키는 것
주어진 값들을 머신러닝에 주입시키고, 사용자가 원하는 값을 유추하기 위해 필요한 단계!
알파고 또한, 기존에 존재하는 수많은 기보를 통해 학습시켰다. (이것이 Training data set 과정)
대국에서 이세돌이 돌을 두고 나면, 그 돌(x 값)을 전달 받고 알파고의 머신 러닝이 기존의 자신의 데이터 값을 통해 가장 최적의 수(y 값)를 얻어내 돌을 두는 것이다.
Supervised learning 유형
이전에 사용한 시간 기반 '최종 시험 점수' 예측 (0~100점)
regression 활용
점수가 아닌, Pass/Non pass로 예측 (label이 2개)
binary classification 활용
학점(A~F)로 예측 (label이 2개보다 많은 상태)
multi-label classification 활용
ex.
x(hour) | y(score) |
---|---|
10 | 90 |
9 | 80 |
3 | 50 |
2 | 30 |
다음 표와 같은 training data set이 주어졌다면?
score 값 (1~100)이 주어졌으므로, regression을 이용해 머신러닝을 한다.
이 과정을 다 치루고 나서, 사용자로부터 x 값으로 7을 받았다면 머신러닝은 약 75정도의 y값을 예측할 것이다.
'딥러닝(Deep-Learning)' 카테고리의 다른 글
[딥러닝] Linear Regression 코드 실행 및 코드 분석 (0) | 2018.05.14 |
---|---|
[딥러닝] Linear Regression의 cost 최소화의 TensorFlow 구현 (0) | 2018.05.08 |
[딥러닝] 텐서플로우(Tensorflow)로 간단한 선형 회귀(Linear regression)을 구현 (0) | 2018.05.08 |
[딥러닝] 텐서플로우 설치 및 기본 오퍼레이션 (0) | 2018.05.08 |
[딥러닝] 개요 (0) | 2018.05.08 |