lecture11 basic concept of machine learning ·...

29
Jeonghun Yoon Basic concept of Machine Leanring

Upload: others

Post on 22-May-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Lecture11 Basic Concept of Machine Learning · 해낼수있도록일반화시키는알고리즘(예제를통한학습알고리즘) lRoughly%$! lClassification, Regression, .. lInput,

Jeonghun Yoon

Basic concept of Machine Leanring

Page 2: Lecture11 Basic Concept of Machine Learning · 해낼수있도록일반화시키는알고리즘(예제를통한학습알고리즘) lRoughly%$! lClassification, Regression, .. lInput,

Machine learning

A computer program is said to learn from experience ! with respect to

some class of tasks " and performance measure #, if its performance at

tasks in ", as measured by #, imporves with experience !.

Machine Learing by Tom M.Mitchell

컴퓨터 프로그램은 다양한 기능을 수행한다. 그 기능을 잘 수행했는지 그러지 못했는지에 대해 성능을 평가 할 수 있다.

머신러닝은 컴퓨터가 수행하는 기능을, dataset을 통하여 더 나은 성능을 낼 수 있도록 개선하는 것이다.

Page 3: Lecture11 Basic Concept of Machine Learning · 해낼수있도록일반화시키는알고리즘(예제를통한학습알고리즘) lRoughly%$! lClassification, Regression, .. lInput,

Machine learning

Learning Evaluating

ImprovementExperience(Samples, Examples)

- Supervised- Unsupervised…

Tasks(Functions)

- Classfication- Regression- Clustering…

Performace

- Accuracy- MSE…

Page 4: Lecture11 Basic Concept of Machine Learning · 해낼수있도록일반화시키는알고리즘(예제를통한학습알고리즘) lRoughly%$! lClassification, Regression, .. lInput,

Machine learning

(Easy version)

머신러닝은과거경험에서학습을통해얻은지식을미래의결정에이용하는전산학의한분야이다.

머신러닝의목표는관측된패턴을일반화하거나주어진예제를통해새로운규칙을생성해내는것이다.

Page 5: Lecture11 Basic Concept of Machine Learning · 해낼수있도록일반화시키는알고리즘(예제를통한학습알고리즘) lRoughly%$! lClassification, Regression, .. lInput,

머신러닝학습알고리즘의카테고리

머신러닝은크게세가지범주로분류된다.

l Supervised Learning algorithm

l Unsupervised Learning algorithm

l Reinforcement Learning algorithm

Page 6: Lecture11 Basic Concept of Machine Learning · 해낼수있도록일반화시키는알고리즘(예제를통한학습알고리즘) lRoughly%$! lClassification, Regression, .. lInput,

머신러닝학습알고리즘의카테고리

Supervised Learning algorithm

l Random sample vectors !"#와각각에대응하는 $가관찰되었을때, 제공된 dataset을사용하여모든 !에대해정답인 $를유추

해낼수있도록일반화시키는알고리즘(예제를통한학습알고리즘)

l Roughly % $ !

l Classification, Regression, ..

l Input, target

Page 7: Lecture11 Basic Concept of Machine Learning · 해낼수있도록일반화시키는알고리즘(예제를통한학습알고리즘) lRoughly%$! lClassification, Regression, .. lInput,

머신러닝학습알고리즘의카테고리

Unsupervised Learning algorithm

l Random sample vectors !"#가관찰되었을때, !의 distribution or dataset 구조의 useful properties를찾고자하는알고리즘

l Roughly $ !

l Density estimation, Clustering, Dimensional reduction

l Input

Page 8: Lecture11 Basic Concept of Machine Learning · 해낼수있도록일반화시키는알고리즘(예제를통한학습알고리즘) lRoughly%$! lClassification, Regression, .. lInput,

머신러닝학습알고리즘의카테고리

Reinforcement Learning algorithm

l Machine 또는 agent가주변환경의 feedback으로부터행동을학습하는알고리즘

l 강화학습에서 agent는지도를받는것이아니라스스로일련의결정을내린후, 그결과에따라마지막에 +1 이나 -1의보상

reward를받음

l 보편적인머신러닝알고리즘보다는인공지능기법에더가깝다.

Page 9: Lecture11 Basic Concept of Machine Learning · 해낼수있도록일반화시키는알고리즘(예제를통한학습알고리즘) lRoughly%$! lClassification, Regression, .. lInput,

통계 모델링과 머신 러닝의 차이점

통계 모델링과 머신 러닝 간에는 근본적인 유사점이 있지만, 실제 적용에 있어서는 때때로 그 점이 분명하지않을 때가 있다.

통계 모델링 머신 러닝

변수 간의 관계를 수학식을 통해 정량화

규칙 기반 프로그래밍(rule-based programming)

에 의존하지 않고 데이터로부터 학습 가능한 알

고리즘

데이터에 맞는 모델 적합화를 수행하기 전 미리

곡선의 형태를 가정해야 함(예: 선형, 다항 등)

머신 러닝 알고리즘은 주어진 데이터로부터 복잡

한 패턴을 스스로 학습하는 알고리즘이므로 곡선

의 형태를 미리 가정할 필요가 없음

통계 모델은 85%의 정확도와 90%의 신뢰 수준

으로 결과를 예측함머신 러닝은 결과를 정확도 85%로 예측함

통계 모델링에서는 P value 같은 다양한 매개변

수 진단이 수행됨

머신 러닝 모델은 어떠한 통계적 유의성 진단도

수행하지 않음

Page 10: Lecture11 Basic Concept of Machine Learning · 해낼수있도록일반화시키는알고리즘(예제를통한학습알고리즘) lRoughly%$! lClassification, Regression, .. lInput,

통계 모델링과 머신 러닝의 차이점

통계 모델링 머신 러닝

데이터는 70:30 (때에 따라 다르게 split 가능)으

로 나뉘어 각각 훈련 집합과 테스트 집합이 됨.

모델은 훈련 집합에서 개발되고 테스트 집합으로

테스트함.

데이터는 50:25:25(때에 따라 다르게 split 가능)

으로 나뉘어 각각 훈련 데이터, 검증 데이터, 테

스트 데이터가 됨.

모델은 훈련 데이터에서 개발되고, 초매개변수

hyperparameter는 검증 데이터를 통해 튜닝되고 최종

적으로 테스트 데이터에 관해 평가함.

통계 모델은 훈련 데이터라 불리는 단일 데이터

만으로도 개발 가능함.

진단은 전체 정확도 뿐만 아니라 개별 변수 단위

에 관해서도 수행되기 때문임.

변수에 관한 진단이 없기 때문에 머신 러닝 알고

리즘은 이중 검증을 위해 훈련 데이터와 검증 데

이터라 불리는 두 데이터 세트에 관해 학습이 이

뤄짐.

통계 모델링은 보토 연구 목적으로 사용됨. 머신 러닝은 실제 환경에서 구현하기 적합함

Page 11: Lecture11 Basic Concept of Machine Learning · 해낼수있도록일반화시키는알고리즘(예제를통한학습알고리즘) lRoughly%$! lClassification, Regression, .. lInput,

머신러닝모델개발순서

1. 해결하고자하는문제의정의

2. 데이터수집

3. 데이터준비와결측값 / 이상값처리

4. 데이터분석(Exploratory Data Analysis)과 feature engineering

5. 모델선택

6. 훈련및검증데이터에이용하여모델훈련및 Hyperparameter 튜닝

7. 테스트데이터를사용하여모델의최종테스트

8. 모델배포및서비스에활용

Page 12: Lecture11 Basic Concept of Machine Learning · 해낼수있도록일반화시키는알고리즘(예제를통한학습알고리즘) lRoughly%$! lClassification, Regression, .. lInput,

머신러닝모델개발순서

데이터수집

l 머신러닝데이터는구조화된소스, 웹스크래핑, API, 채팅등을통해집적수집한다. 머신러닝은구조화된데이

터(table data, DB data 등)와비구조화데이터(음성, 이미지, 텍스트)를모두처리할수있다.

데이터준비와결측값 / 이상값처리

l 데이터를모델에서사용할수있도록알맞게가공한다. 결측값missing value, null value 또는이상값abnormal value는데이터

및해결하고자하는문제의성질에맞게평균값, 중간값등으로대체한다.

데이터분석(EDA)과 feature engineering

l 변수들사이에숨겨진패턴및관계를찾아내려면데이터를분석해야한다. 올바른 feature engineering과적절한

비지니스지식을동원한다면많은문제를해결할수있고, 모델이잘학습되는데에큰도움이된다.

Page 13: Lecture11 Basic Concept of Machine Learning · 해낼수있도록일반화시키는알고리즘(예제를통한학습알고리즘) lRoughly%$! lClassification, Regression, .. lInput,

머신러닝모델개발순서

훈련및검증데이터에이용하여모델훈련

l Feature engineering이끝난후모델을학습하는단계이다. 데이터를 3개집합(훈련, 검증, 테스트)로분리한다.

훈련데이터에서머신러닝모델을훈련시키고, overfitting과적합을 피하기위해검증데이터를대상으로모델의

hyperparameter를튜닝하는과정을거친다.

테스트데이터를사용한모델테스트

l 모델이훈련데이터와검증데이터를상대로충분히좋은성능을발휘하면새로운unseen 테스트데이터를대상으

로성능점검을수행한다. 이테스트에서충분히성능이인정되면마지막단계로넘어간다.

모델배포및서비스에활용

l 학습된머린러닝모델을배포하고, 학습된머신러닝알고리즘을서비스에적용한다.

Page 14: Lecture11 Basic Concept of Machine Learning · 해낼수있도록일반화시키는알고리즘(예제를통한학습알고리즘) lRoughly%$! lClassification, Regression, .. lInput,

머신러닝에서사용하는기본적인용어들

Input / Input vector / Features / Feature vectors / 입력 / 특성

l 입력벡터는머신러닝알고리즘의입력으로주어진데이터를의미한다. Input data가총 !차원이면, " = (%&, %(, … , %*)라고표현

한다. 벡터의요소인 %,는 entity이다.

Output / Output vector / 출력값

l 출력벡터는머신러닝알고리즘의출력결과데이터를의미한다. 출력벡터의각 entity는알고리즘의종류에따라서연속적인실

수값이될수있고, 불연속적인정수값이될수있다. 또한 1차원이될수도있고다차원이될수도있다. 출력은회귀모형을설명

할때는 -.라고표현하겠다.

Target / Label / 목표값 / 라벨

l 목표값은입력벡터와함께 pair로주어진, 즉 "에 associate / assign 된데이터를의미한다. 실수값, 정수값을가질수있다. 타겟

은회귀모형을설명할때는 .라고표현하겠다. Supervised learning에서는 "&, .& , "(, .( , …, "/, ./ 이모델의학습에사용된

다.

Page 15: Lecture11 Basic Concept of Machine Learning · 해낼수있도록일반화시키는알고리즘(예제를통한학습알고리즘) lRoughly%$! lClassification, Regression, .. lInput,

머신 러닝에서 사용하는 기본적인 용어들

Training setl 알고리즘을 학습할 때 사용되는 input dataset (supervised learning의 경우는 target도 training set에 포함)

Validation setl 알고리즘을 학습할 때, 알고리즘의 성능을 (중간에) 측정하여 성능이 나쁜 알고리즘을 구별해내고(prune) 좋은 알고리즘을 선택

할 수 있도록 하는 과정에서 사용되는 dataset

Test setl 학습된 알고리즘을 최종 테스트하여 알고리즘의 성능을 평가할 때 사용하는 dataset

Training set(훈련 데이터)

Validation set(검증 데이터)

Test set(테스트 데이터)

약 50% 약 25% 약 25%

Page 16: Lecture11 Basic Concept of Machine Learning · 해낼수있도록일반화시키는알고리즘(예제를통한학습알고리즘) lRoughly%$! lClassification, Regression, .. lInput,

머신 러닝에서 사용하는 기본적인 용어들

Hypothesisl 우리가 찾고자하는 알고리즘을 의미한다. 머신러닝 알고리즘을 학습하는 것은, 결국 머신러닝 알고리즘이 존재하는 전체 셋

(hypothesis set)에서 최상의 머신러닝 알고리즘(hypothesis)을 찾는 것이다.

Hypothesis space

Best Hypothesis

Model의

학습 정도를 표현할 때,

Hypothesis를 사용하여

수학적으로 표기하는 경우가 많다.

Page 17: Lecture11 Basic Concept of Machine Learning · 해낼수있도록일반화시키는알고리즘(예제를통한학습알고리즘) lRoughly%$! lClassification, Regression, .. lInput,

머신러닝에서사용하는기본적인용어들

손실함수loss function 또는비용함수cost function

l 모수(!)의값을실수"(!)로 mapping 하는함수이다. 구하고자하는모수(파라미터)를 !라고할때, loss function

은 "(%)로주어질것이다.

l 모수에대응되는실수는, 우리가모수를사용했을때예측값과실제값과의거리를나타낸다고생각하면된다.

(정확히는거리가아니지만, 그렇게생각하면이해하기쉽다.) 즉, 모수를선정할때기준이되는값이다.

목표 값 (우리가 예측하려는)

"(!&)

"(!')

!' 을 사용했을 때

손실 함수의 값 "이 더 작다.

따라서 !' 을 사용한다.

!'을 사용했을 때 예측 값

!&을 사용했을 때 예측 값과 목표 값의 차이

!'을 사용했을 때 예측 값과 목표 값의 차이

!&을 사용했을 때 예측 값

Page 18: Lecture11 Basic Concept of Machine Learning · 해낼수있도록일반화시키는알고리즘(예제를통한학습알고리즘) lRoughly%$! lClassification, Regression, .. lInput,

머신러닝에서사용하는기본적인용어들

대표적인손실함수

l 제곱손실Squared loss : 회귀에서많이사용함

l MSE

l RMSE

l Cross entropy : 분류모델에서많이사용함

l 힌지손실Hinge loss : SVM(분류모델)에서사용함

Page 19: Lecture11 Basic Concept of Machine Learning · 해낼수있도록일반화시키는알고리즘(예제를통한학습알고리즘) lRoughly%$! lClassification, Regression, .. lInput,

머신러닝모델 summary

지도학습 (입력변수와목표변수가주어진다.)

l 회귀모형 (목표변수가연속적인값이다.)

l 단순선형회귀모형

l Lasso, Ridge 회귀

l 의사결정트리회귀

l Bagging 회귀

l Random forest 회귀

l Boosting 회귀

l SVM 회귀

Page 20: Lecture11 Basic Concept of Machine Learning · 해낼수있도록일반화시키는알고리즘(예제를통한학습알고리즘) lRoughly%$! lClassification, Regression, .. lInput,

머신러닝모델 summary

지도학습 (입력변수와목표변수가주어진다.)

l 분류모형 (목표변수가이산값을가진다.)

l 로지스틱회귀

l 의사결정트리(분류기트리)

l Bagging 분류

l Random forest 분류

l 부스팅분류(Adaboost, Gradient boost, Xgboost)

l SVM 분류

l Perceptron

Page 21: Lecture11 Basic Concept of Machine Learning · 해낼수있도록일반화시키는알고리즘(예제를통한학습알고리즘) lRoughly%$! lClassification, Regression, .. lInput,

머신러닝모델 summary

비지도학습 (목표변수가주어지지않는다.)

l 주성분분석(PCA)

l K-means clustering

강화학습

l 마르코프결정프로세스

l 몬테카를로기법

l 시간차학습

Page 22: Lecture11 Basic Concept of Machine Learning · 해낼수있도록일반화시키는알고리즘(예제를통한학습알고리즘) lRoughly%$! lClassification, Regression, .. lInput,

머신러닝모델 summary

선형회귀

l 이방법은고객의소득같은연속변수의예측에사용된다. 모델은최적의선을 fitting하기위해, 손실함수의값

이선형방적식의계수들 !"#$에관해최소화되도록한다. 선형회귀는높은 bias와낮은 variance 오류의특징을

가진다.

l 선형방정식의기본적인식 : % = !' + !)*) + !+*+ + ⋯+ !-*-

Lasso / Ridge 회귀

l 이기법은선형방정식의계수에 penalty를적용한규제화과정을통해과적합문제를통제한다. Ridge 회귀는계

수의제곱의합, Lasso는계수의절대값에 penalty 를적용한다. 또한 penalty 의양을조절할수있다. Ridge 회귀

는계수의크기를최소화하는반면, Lasso 회귀는계수를제거하려고노력한다. 즉계수의값이 0이나올수도

있다.

Page 23: Lecture11 Basic Concept of Machine Learning · 해낼수있도록일반화시키는알고리즘(예제를통한학습알고리즘) lRoughly%$! lClassification, Regression, .. lInput,

머신러닝모델 summary

의사결정트리분류

l 각레벨에는이진분할을적용한다. 분할은각레벨의부류가최대한순수한부류class만남을때까지반복한다. 분

류오류율은단순히그구역의훈련관측값중가장일반적인부류에속하지않는관측값들의비율이다. 즉그

지역의훈련관측값중많았던부류가 A 였다면, 그지역의관측값중 A 부류가아닌부류의비율이다. 의사결정

트리는 fitting 과정에서높은분산으로인한 overfitting 문제를겪는다. 가지치기(pruning)을통해 overfitting 문제

를감소시킬수있다. 의사결정트리는낮은 bias와높은 variance 오류의특징을가진다.

Page 24: Lecture11 Basic Concept of Machine Learning · 해낼수있도록일반화시키는알고리즘(예제를통한학습알고리즘) lRoughly%$! lClassification, Regression, .. lInput,

머신러닝모델 summary

Bagging 분류 / 회귀

l Bagging은의사결정트리에앙상블을적용해 variance 오류를최소화하는동시에 bias에의한오류성분이증가

하지않도록하는기술이다. Bagging은복원추출을통해표본을선택하고, 모든변수(열)은각표본에관해의사

결정트리를개별적으로 fitting한다. 그후투표(회귀의경우, 출력값의평균)를통해최종결과를 ensemble한다.

Random Forest

l 이방법은 Bagging과흡사한데, 한가지차이가있다. Bagging은각표본별로모든변수(열)를선택하지만

Random forest는몇개의열만선택한다. 전체변수를선택하지않고일부만선택하는이유는각개별트리의표

본을추출할때많은수의변수가항상트리의상위계층에나타나결과적으로분할후에도모든트리가유사하

게자라게돼앙상블의취지에반하기때문이다. 이방법은 bias와 variance 오류가모두낮은특징이있다.

Page 25: Lecture11 Basic Concept of Machine Learning · 해낼수있도록일반화시키는알고리즘(예제를통한학습알고리즘) lRoughly%$! lClassification, Regression, .. lInput,

머신러닝모델 summary

Boosting 분류 / 회귀

l Boosting 은순차알고리즘으로결정그루터기(단일레벨결정트리또는하나의 root와 2개의단말노드를가진

트리) 같은약한분류기에적용한후그결과를앙상블함으로써강력한분류기로탈바꿈하기위해적용한다. 알

고리즘은모든관측값에동일한가중값을할당하고시작한다. 그후후속반복작업에서잘못분류된관측값에는

가중값을증가시키고제대로분류된관측값은가중값을감소시킨다. 결국모든개별분류기는더강력한분류기

로합쳐진다. Boosting은 overffiting 문제가있을수있지만, 매개변수를세밀히튜닝함으로써스스로학습하는최

고의머신러닝모델을얻을수있다.

Page 26: Lecture11 Basic Concept of Machine Learning · 해낼수있도록일반화시키는알고리즘(예제를통한학습알고리즘) lRoughly%$! lClassification, Regression, .. lInput,

머신러닝모델 summary

SVMl 이방법은부류사이의경계를가장넓게형성하는초평면을학습해서경계간의간격(margin)이최대가되게한

다. 비선형으로분리가능한부류의경우관측값을높은차원의공간으로옮기기위해커널(kernel)을사용한다.

그후초평면을이용해이를선형분리한다.

추천엔진

l 이방법은협업필터링알고리즘(Collaborative filtering algorithm)을사용해서특정고객이과거에사용한적이

없는상품중구매확률이높은아이템을찾아내기위해비슷한성향의고객이가진구매취향을파악하는기법

이다. 이문제를풀기위해교대최소자승법(Alternating least squares, ALS)을활용한다.

Page 27: Lecture11 Basic Concept of Machine Learning · 해낼수있도록일반화시키는알고리즘(예제를통한학습알고리즘) lRoughly%$! lClassification, Regression, .. lInput,

머신러닝모델 summary

PCAl 이기법은주성분을원래변수대신계산해전체차원을낮추는기술이다. 무엇을주성분으로할것인지는데이

터의분산이최대값이되는것으로판단한다. 결과적으로전체분산의 !%를차지하는최상위 "개성분을선택해

다음단계모델링프로세스에서사용하거나, 비지도학습으로탐색적요인분석(Exploratory Data Analysis)를수

행한다.

K-means clustering

l 이기법은비지도학습알고리즘의하나로, 주로분할에활용된다. K-means clustering은주어진데이터를 k 개의

군집으로분류하는데, 각군집내의분산은최소화시키되, 군집간의분산은최대화시키는것이목표다.

Page 28: Lecture11 Basic Concept of Machine Learning · 해낼수있도록일반화시키는알고리즘(예제를통한학습알고리즘) lRoughly%$! lClassification, Regression, .. lInput,

머신러닝모델 summary

Markov decision processl Markov decision process(MDP)는강화학습에서결과가통제되지않은임의의영향을부분적으로받는환경이

나상황에서에이전트의결정을모델링하기위한수학적프레임워크를제공한다. 이모델은시스템을통제하기

위해에이전트가취할수있는상태와행동의집합으로환경을모델링한다. 에이전트의총수익이최대화되도록

시스템을통제하는것이이모델의목표다

Monte Carlo method

l Monte Carlo method는환경에관한모든지식을필요로하지않는다. 이기법은실데이터나시뮬레이션환경에

서추출된표본의상태순서, 행동, 보상데이터를기반으로한다. 이기법은주어진표본에서순차적으로마지막

결과까지공간을탐색하고해당값을갱신한다.

Page 29: Lecture11 Basic Concept of Machine Learning · 해낼수있도록일반화시키는알고리즘(예제를통한학습알고리즘) lRoughly%$! lClassification, Regression, .. lInput,

머신러닝모델 summary

시간차학습

l Temporal difference learning은강화학습의핵심이다. 시간차학습은몬테카를로와동적프로그래밍아이디어를

조합한것이다. 시간차학습은몬테카를로와비슷하게환경의역학을모델링하지않고도원시경험으로부터바

로학습할수있다. 또동적프로그래밍처럼이기법은최종결과를기다리지않고다른학습결과에일부의존해

계산을갱신한다. 이방법은통계나머신러닝을통틀어좋은방법이고, 알파고같은게임에주로이용된다.