탐색적데이터분석 Supervised Learning
탐색적데이터분석 (Exploratory Data Analysis) 데이터가지닌주요특성 / 개괄을 ( 우선적으로 ) 탐구함으로써 데이터분석을시도하려는형태 모델링이나가설을세우고이를검증하기보다데이터자체 가우리에게말하려고하는것을알아내는것의중요성을강 조하며시각화플롯을많이활용 John Tukey 가그중요성을강조 S 와 R 에많은영향 2
Ch. 2 Statistical Learning 3
Supervised Learning ( 지도학습 ) 감독 ( 선생님 ) 이있어입력이 이럴경우 (X) 에결과가 이렇게 (Y) 되어야한다는감독의지도에따라학습이되는형태 Y = f(x) : f 는 X와 Y의관계를나타냄. - (X, Y) 는관측된데이터 * labeled : Y response 값 주어진입력 X와그때의결과 Y가있는 (X, Y) labelled data 로학습을해서나중에새로운입력 X new 를접할때적절한결과 Y new 를얻고자함 X : 입력 (input), 특징 (feature/attribute), 독립변수 (independent variable), predictor, covariate 등다양한이름으로불리며보통 vector 형태 Y : 결과 (response, output, outcome), 종속변수 (dependent variable), target 등으로불림 학습은 X, Y 를이용해함수 ( 알고리즘, 모델 ) f 를추정하는것 4
Supervised Learning ( 지도학습 ) cont. 학습을통해구한 ( 추정한 ) 는완벽하지않아 (X) 가실제로 Y와똑같이되기어려우며이를 Ŷ (Y-hat) 이라표기. 따라서 Ŷ Y 되도록함이학습의목표 Y가숫자이면학습형태를 regression 이라함 Y가카테고리범주형이면 classification 이라함 (x 1, y 1 ), (x 2, y 2 ),..., (x n, y n ) x i : input, y i : target response 쌍으로구성된 training set ( 학습을시키기위한훈련자료 ) 를통해를구하는과정이학습 Training set 학습으로구한 ( 모델 이라고도함 ) 에대해테스트데이터 (test set) 를적용하여의성능을판단. Test Set: Training set에있지않은데이터 개별 (x i, y i ) 를 instance, observation 또는 example이라함 5
Unsupervised Learning ( 자율학습 ) 감독 ( 선생님 ) 역할을하는것없이학습이이루어지는형태 Response 가없으므로학습이제대로이루어지고있는지, 학습결과 가잘된것인지판단하기가어려움 즉, labelled data (X, Y) 로학습이이루어지지않음 Response 가없으므로 training set, test set 으로나누기가의미없음 CRM 에서고객들을유사성에따라그룹으로나누는 Clustering 이대 표적인사례이며, supervised learning 의전단계로써도많이활용 6
Predictive Analysis ( 예측분석 ) Supervised Learning을이용해만든모델로지금껏보지못한새로운 input이들어올때 outcome이어떻게나올지를미리알고싶어모델이예측 (prediction) 을잘하도록하는것이학습의주목적일경우 * 예측대상이꼭미래의이벤트이어야하는것은아님 : Mean Square Error 를줄이자 Y : Outcome, Response, 정답 Y : 모델의 Y Estimate. 모델 E : Expectation 로추정한 Y 의예측치 예측분석은 Inferential analysis 를기본적으로이해해야함 7
Parametric Model 비교적단순한형태의 f( 모델원형 ) 를미리정한후, 모델의특성을규정하는 parameter ( 매개변수, i ) 들을학습을통해추정하는형태 Y = 위의경우, 모델원형 f 를 feature X 1, X p 로구성된선형식으로정함 linear parametric 모델은 parameter i (i=0, p) 로규정됨 위의 linear parametric 모델에서를추정함은 0, p 들의추정치 ˆ 들을구하는것 0 ˆ p 따라서, parametric model 의학습은 training set 를이용해 ˆ i 들을잘구해 (X) = Ŷ 의값이실제 Y 에최대한가깝도록함이목표 8
Non-Parametric Model f의형태가어떨것이라는것을미리가정하지않음 f 의형태가어떻든관계없이 prediction을잘하는모델이좋은것임 (More) Data Driven Parametric 모델에비해복잡하고, 이해하기어렵고, 처리시간이많이걸릴수있음 Training set의크기가작을때문제가될수있음 빅데이터에적용해훌륭한성능을보일수있음 추상적인개념수립등높은차원의학습이가능하도록연구중 9
Vector-Matrix 방정식복습 ISLR 2.1.2 에서의표현식 n : 관측한 ( 입력 ) data points 들의개수. 이것들을이용해모델 f 를훈련시킬예정 X : 위입력데이터들로이루어진 predictor 집합. x i : X 내의개별입력데이터포인트중 i 번째 data point 값. (i=1, n) x ij : i 번째입력데이터포인트의 j 번째 predictor 값. X 의 data point 가여러개의 feature 들로이루어져있을경우에해당됨. 이책에서는 feature 들의개수를 p 라일반적으로놓음 ( 즉, j = 1,... p) * ISLR 에서 i 번째 data point(instance) 를가르킬때는 x i, ( 보통 i=1, n) i 번째 feature set 를가르킬때는 X j 로표시함, ( 보통 j=1, p) Y : X 에대응되는 response 들의집합 y i : Y 내의개별입력데이터포인트중 i 번째 data point 값. (i=1, n). 즉, 입력이 x i 일때의 response. y ij : i 번째 response data point 의 j 번째 response 값. 이경우는개별 response data point 가여러개의 response 값들로이루어진 vector 형태일때적용된다. ISLR 에서는이경우를다루지않음 10
Note ISLR (Introduction to Statistical Learning with R) 과 ESL (The Elements of Statistical Learning) 책에서 두형태의표현식이보인다. 이경우윗식의 X T 는로써 p 개의 predictor 로구성된하나의 observation 을뜻하고 row vector 임을나타냄. 이 X T 가만약 i 번째 observation 이라면 ISLR/ESL 은 x it 로도표현. Exception : 어떤경우 X j 가 n 개 observation 들의 j 번째 predictor 들로표현되기도한다. 이경우 X j 는 vector (of length n) 가되겠고 X T 는 matrix 가됨. Predictor X j 가 scalar 인지또는 n observation 개수만큼의 vector_of_length n 인지는문맥을통해알수있다. 반면아랫식의 X 는 matrix( 행렬 ) 를뜻함. 만약 predictor data set 이 n 개의 observation, observation 이 p 개의 predictor 들로되어있으면 X 는 n by p matrix. 기본적으로 ISLR/ESL 은벡터가 Column Vector 라가정한다. 따라서어떤벡터 x 가 row vector 일시그것을 x T 로표시함. 11
Linear System 의 Vector-Matrix 방정식의미 : fit to expand ie. if Y can be approximated as a linear combination of X 1, X 2,..., X p = + + + + + = + + + + + * i : 우리가구하려는패러미터 = + + + + +... = + + + + + 12
Y X 1 X 2 X 3 X p x 11 x 12 x 13 x 1p x 21 x 22 x 23 x 2p x 31 x 32 x 33 x 3p = 0 + 1 + 2 + 3 +.. + p x n1 x n2 x n3 x np Y Y 0 = x 11 x 21 x 31... x 12 x 22 x 32 X x 13 x 23 x 33... x 1p x 2p x 3p 1 2 3 - X, Y 는주어짐 - RSS를최소화하는들을구하자 - 그러면새로운 X가주어지면에이용해추정가능 x n1 x n2 x n3 x np p 13
예측성능과해석용이성간의 trade-off 복잡한알고리즘 / 모델이반드시예측성능이더좋은것은아님 같은성능이면단순하고해석하기쉬운모델이좋음 때론복잡한알고리즘 (Deep Learning) 이진가를보일수있음 단순한모델이일반적으로해석 / 이해하기쉬움 (Inference에적합 ) 14
모델정확성 Regression 모델의정확성측정으로 Mean Squared Error (MSE) 사용 MSE 1 n n i 1 ( y i yˆ i 2 ) x i, y i 가모델을훈련시킬때사용한것들이아니어야의미있음 ŷ i 는 i 번째샘플 (observation) x i 에대해가추정한예측치 ŷ i = ((x i ) MSE ( 또는, Residual Sum of Squares) 가작을수록모델이정확 ( 우수 ). MSE 는 RSS/n 15
머신러닝알고리즘 / 모델이지닌이슈 모든학습은갖고있는데이터를활용해연습으로이루어진다 학습의핵심은우리가이미알고있는 (X, Y) 에대한문제-답을외우라는것이아니라, 새로운문제 X 0 를보았을때그때답 Y 0 가어떻게될것인가를제대로예측해달라는것 용도에따라, 데이터에따라좋거나나쁜학습모델 / 알고리즘이다르다 새로운데이터 X 0 를 Test Set (Test Data) 라하고, 모델을훈련시킬때쓰는연습용데이터를 Training Set이라함 Test Set을모델이만들어진후현장에서쓸데이터라고생각해도됨 문제는, Training Set에대해선정확한예측을한모델이실제 Test Set에대해서도잘하리라는보장이없다는점 모든모델은 Test Set에대해선 Training Data때보다성능이떨어짐 우리가학교다닐때, 수학시험준비를위해연습문제를풀어보는것이 training set을통한학습 ( 연습 ) 이고, 실제시험을 test set인것과똑같음 16
Flexible(Complex) 모델 vs. Restricted(Simple) 모델 복잡 / 유연한모델 ( 알고리즘 ) 이더정확하거나강력하다면이모델이 Test Set에대해단순한모델보다더정확한예측을해주어야한다 일반적으로복잡한모델은 Training Set들을잘학습한다. 즉 Training Set들에대해훌륭한 ( 낮은 ) MSE를보인다. 문제는, 복잡한모델은때론너무열심히학습을해서 Training Set들을그냥외우는모양새를보인다 우리의경험이말해주듯이학습은외우는것이아니다. 원리, 개념, 패턴을깨우쳐새로운문제에대해서도응용력과적응력을발휘해문제를풀어나감이다. 기계학습의목표도똑같다. 복잡한모델은 Training Set에서는잘하다가정작 Test Set ( 실제현장데이터 ) 에대해서는단순한모델보다도성능이나쁠경우가있다. 특히, 학습을시킬때 training set의크기 ( 샘플수 ) 가작으면더심각해진다. 단순한모델은 training set에대해서복잡한모델보다정확성이떨어지지만 Test Set에대해서도그리차이를보이지않는경우가많다 17
Flexible(Complex) 모델 vs. Restricted(Simple) 모델 cont. 복잡한모델이건, 단순한모델이건어떤모델이 training set를지나치게잘학습해 (fit/follow/memorize) 정작 test set에대해선적응력을발휘하지못해 training set에서의정확성에비해현저히정확성이떨어질때모델이 generalize( 일반화 ) 를못했다고하고, overfit 되었다고함 모델이 Overfit 됨을 high variance를갖는다고함 모델이 Underfilt 되었다는말은모델의학습능력이부족하다는의미로, 모델의복잡성 / 유연성이 training set의복잡성을따라가지못하기에발생. 이경우모델이 high bias를갖는다고함 Overfit(High Variance) 도아니고, Underfit(High Bias) 도아니고딱맞는 Right fit을찾아야함이 supervised learning의목표 따라서 Low Variance, Low Bias를갖는모델을만들어야하는데이둘의조건을동시에만족하는것이어려움 : Bias-Variance Trade-Off 18
Flexible(Complex) 모델 vs. Restricted(Simple) 모델 - cont 복잡한모델 ( 알고리즘 ) 들이실제 Test Set에대해서오히려심플모델 ( 알고리즘 ) 보다성능이나쁘다고무조건일반화하는것도안됨 일반적으로복잡한모델은복잡한학습이필요할경우단순한모델보다성능 ( 정확성 ) 이좋다. 복잡한학습이란 feature(x) response(y) 관계가복잡한것임 따라서복잡한모델 ( 알고리즘 ) 은복잡한 X Y 관계를더잘학습하는 만들수있다는말임 를 데이터를분석해무엇을얻을것인가에따라그에적절한모델을선택해야함 따라서빅데이터분석, 기계학습, 예측모델, 데이터마이닝, 데이터사이언스를하는사람은다양한모델 ( 알고리즘 ) 들을정확히이해해야함 ( 한계도포함해서 ) 19
Regression vs. Classification 모델의 feature 나 response 변수들은정량적일수도, 또는정성적일수도있다. 정량적변수는숫자이고, 정성적변수는클래스 / 카테고리 ( 남자, 여자 ; Yes, No ; 새누리, 민주, 통진 ) 를나타낸다 모델의 response 변수가숫자이면 regression 타입모델이라하고, 클래스타입이면 classification 타입모델이라함. 이때, 모델이 regression 타입이라고해서그모델이 linear regression 알고리즘을쓴다는말이아님 기계학습알고리즘에따라 regression 또는 classification 에적용하기좋은것들이있으나절대적인기준은없다 Logistic Regression 은보통 binary classification 에적용하지만그바탕은 class 에속할확률 ( 숫자 ) 에의지하므로 regression 타입이라할수도있음 KNN, Decision Tree, Boosting 모델들은 regression, classification 에다적용할수있음 Feature vector 의변수들역시숫자일수도, 또는클래스를나타낼수도있다. 대부분의모델들은변수를모델에맞는형태로 recoding/ 변환 ( 숫자를구획화, 또는카테고리를 dummy variable 화 ) 해서원래 feature 변수타입이무엇이었든지관계없이사용할수있다. Decision Tree 같은모델은원래부터숫자나클래스타입변수를다사용할수있다 20
모델의복잡성에따른 Training 과 Test 시 MSE 변화 LEFT Black: Truth Orange: Linear Estimate ( 단순 ) Blue: smoothing spline ( 중간 ) Green: smoothing spline ( 복잡 ) RIGHT RED: Test MSE Grey: Training MSE Dashed: Minimum possible test MSE (irreducible error) * MSE 가클수록나쁨 21
Test MSE, Bias and Variance 22