SlideShare a Scribd company logo
1 of 12
Apr 2015
권재명
데이터분석의 길 4:
“고수는 통계학습의 달인이다”
“머신러닝 (Machine learning)은 인공지능(Artificial Intelligence)에서,
통계학습 (Statistical learning)은 통계학(Statistics)에서 시작되었다.
두 학문은 유사하지만,
머신러닝은 대용량 자료와 예측의 정확도를 강조하고,
통계학습은 모형과 해석, 추론의 오차와 불확정성을 강조한다.
... 물론 더 잘팔리는 것은 머신러닝이다.”
- Hastie and Tibshirani*
* https://lagunita.stanford.edu/c4x/HumanitiesandScience/StatLearning/asset/introduction.pdf
통계/통계학습 기초는 생략한다.
응용통계/통계학습의 명저들이 수두룩하기 때문이다. 예를들어:
● Introduction to Statistical Learning (pdf)
o 강의슬라이드와 R코드
o 약칭 ISL. 예측분석가의 필독서. 진도를 나가기 전에 (슬라이드라도) 1-6
장을 꼭 읽을 것을 권장한다.
● Modern Applied Statistics with S
o 약칭 MASS.*
● Elements of Statistical Learning (pdf)
o 약칭 ESL. 박사급(?) 예측분석가의 필독서. 수식이 무지 많다.
* R의 기본 라이브러리중 하나인 library(MASS)는 이 책에 기반한 것이다.
기본개념 복습 (ISL 1장 참조)
지도학습 (Supervised learning)에는 회귀분석(regression analysis)과 판별분석
(classification)이 있다. 기본적인 용어와 표기법만 복습하자:
● 반응변수* Y 그리고 p-차원 예측변수** X
● 훈련 데이터 (training data)는 X와 Y 의 관측치*** (x1,y1),...,(xn,yn)
● 회귀분석모형 (model)+: Y = f(X) + ε. 오차항 ε 는 E(ε) = 0.
● 기대값 f(x) = E(Y|X = x) 은 꿈의 예측값이다. 현실에선 계산불가.++
● 지도학습의 목표는 제한된 훈련데이터를 사용해 f(x)에 가장 가까운 fhat(x)
를 추정하는 것이다.
* 혹은 outcome, dependent variable, response, target
** 혹은 predictor, inputs, regressors, covariates, features, independent variables
*** 혹은 observations, examples, instances
+ 판별분석의 모형은 조금 복잡하다.
++그런데 꿈의 예측값 f(x)를 알아도 예측은 ε정도는 틀린다.
기본개념 복습 (ISL 2장, 5.1장 참조)
다음 질문이 혹시 헷갈린다면, ISL이나 다른 교재로 복습하도록 하자:
1. 모형의 복잡도(model complexity 혹은 flexibility)란?
2. 모수적 방법(parametric model)과 비모수적 방법(nonparametric model)이
란?
3. 과적합(overfitting)이란? 부적합 (under-fit)이란?
4. Bias-variance tradeoff란? Curse of dimensionality란? 과적합과의 관계는?
5. Training set 과 test set 이란? Training error, test error, Bayes error란? 모형
의 복잡도와 이들 error와의 관계는? (그림으로 그려보세요)
6. 모형평가(model assessment)와 모형선택(model selection)이란?
7. validation set 이란? 교차검증(cross-validation)이란?
이정도 모형은 알아두자 #1
모르면 인생이 피곤한 모형/방법* 과 R함수
1. 선형모형 (linear model)과 최소제곱적합 (least squares fit) lm
a. 선형회귀 (linear regression), 분산분석(ANOVA), 등등은 특별한 케이스
b. 변수선택 기법 (forward, backward, stepwise, best subset)
2. 일반화 선형모형 (generalized linear model) glm
a. 로지스틱 회귀모형은 특별한 케이스
* 미국 기업에서 “데이터 사이언티스트”한다고 인터뷰 하면 대부분의 회사는 대략 여기서 끝난다. 그 외
에는 기초 확률 통계. 다음 페이지의 방법을 묻는 회사/직책은 굉장히 적다.
자주 쓰이고, 알면 알수록 도움이 되는 모형/방법
1. regularization glmnet::glmnet*
a. Lasso, ridge, elastic-net 등은 특별한 케이스
b. shrinkage 와 variable selection을 아우른다.
2. k-nearest neighbor (k-nn) class:knn
3. 트리 (tree)모형 rpart::rpart
4. random forest randomForest::randomForest
* R 함수에서 class:knn 이라고 하면 library(class) 후 ?knn 하면 된다. R namespace에 관해 자세히 알
아보려면 R에서 ??"::" 로 도움말을 보자.
이정도 모형은 알아두자 #2
이정도 모형은 알아두자 #2 (계속)
5. local regression (LOESS) loess
6. linear discriminant analysis (LDA) MASS::lda
7. kernel smoothing, splines, generalized additive model (GAM) gam::gam
이정도 모형은 알아두자 #3
개념 이해하고, 패키지 돌리면 될 것 같은 모형들. 물론 깊이 알수록 좋다.
1. 차원축소(dimension reduction) 기법
a. principal component analysis (PCA) princomp
b. singular value decomposition (SVD) svd
2. principal component regression mvr::mvr
3. naive Bayes e1071::naiveBayes
4. support vector machine (svm) e1071::svm
5. boosting gbm::gbm 혹은 mboost::mboost
6. bagging ipred::bagging 혹은 adabag::bagging
7. neural net nnet::nnet
의외로 쓸 기회가 많은 모형들.
1. mixed effect model / random effect model lme4::{lmer, glmer}
a. 좋은 책: Data Analysis Using Regression and Multilevel/Hierarchical
Models
2. Bayesian model
a. Empirical Bayes, Hierarchical Bayesian model 등등.
b. R 에서 하는 방법도 있지만 OpenBUGS / WinBUGS, JAGS, Stan 등의
독립된 툴들이 대세(라고 한다)*.
* 필자의 약한 부분. -_-;
이정도 모형은 알아두자 #4
이정도 모형은 알아두자 #5 (“빅데이터”)
R은 아주 큰 자료는 처리하지 못한다. R로 분산컴퓨팅이나 대용량 컴퓨팅을 해보
고자 하는 노력도 있지만, 배보다 배꼽이 커질 수 있다.
관측치가 많으면 (large n), 샘플링*하고 R로 돌리면 편하다. 아니면 Python, 특히
scikit-learn 이 좋은 대안이 될 수 있다.
관측치뿐 아니라, 변수 갯수까지 많다면 (large n and p), 툴도 문제지만 더 깊은
지식/경험이 필요하다. 이 경우 흔히 사용되는 툴중 하나가 Vowpal Wabbit 으로
써, 이 툴은 Lasso같은 Regularized 선형 모형을 배치(batch)가 아니라 stochastic
gradient descent (SGD)를 이용해 온라인(online)으로 적합한다. 또다른 세계는
물론 딥러닝(Deep learning)이다.**
* 나중에 “고수는 큰자료를 두려워하지 않는다”편에서 다룰 예정.
** 물론 이런 방법들이 활용되고, 필요한 직장은 1%도 되지 않는다.
... 이 방법들을 MASS와 ISL에 등장하는 데이터에 적용해 보도록 하자.
다음 편은...

More Related Content

What's hot

7 habits of highly effective people
7 habits of highly effective people7 habits of highly effective people
7 habits of highly effective peopleotree
 
効果のあるクリエイティブ広告の見つけ方(Contextual Bandit + TS or UCB)
効果のあるクリエイティブ広告の見つけ方(Contextual Bandit + TS or UCB)効果のあるクリエイティブ広告の見つけ方(Contextual Bandit + TS or UCB)
効果のあるクリエイティブ広告の見つけ方(Contextual Bandit + TS or UCB)Yusuke Kaneko
 
아이템 추천의 다양성을 높이기 위한 후처리 방법(논문 리뷰)
아이템 추천의 다양성을 높이기 위한 후처리 방법(논문 리뷰)아이템 추천의 다양성을 높이기 위한 후처리 방법(논문 리뷰)
아이템 추천의 다양성을 높이기 위한 후처리 방법(논문 리뷰)hyunsung lee
 
NagoyaStat#7 StanとRでベイズ統計モデリング(アヒル本)4章の発表資料
NagoyaStat#7 StanとRでベイズ統計モデリング(アヒル本)4章の発表資料NagoyaStat#7 StanとRでベイズ統計モデリング(アヒル本)4章の発表資料
NagoyaStat#7 StanとRでベイズ統計モデリング(アヒル本)4章の発表資料nishioka1
 
How to Have Difficult Conversations
How to Have Difficult ConversationsHow to Have Difficult Conversations
How to Have Difficult ConversationsMattan Griffel
 
I Heard it Through the Grapevine: Preventing Workplace Gossip
I Heard it Through the Grapevine: Preventing Workplace GossipI Heard it Through the Grapevine: Preventing Workplace Gossip
I Heard it Through the Grapevine: Preventing Workplace GossipBrigham Van Auken
 
Rで学ぶ離散選択モデル
Rで学ぶ離散選択モデルRで学ぶ離散選択モデル
Rで学ぶ離散選択モデル宏喜 佐野
 
操作変数法の書き方_田淵貴大
操作変数法の書き方_田淵貴大操作変数法の書き方_田淵貴大
操作変数法の書き方_田淵貴大Takahiro Tabuchi
 
回帰モデルとして見る信号検出理論
回帰モデルとして見る信号検出理論回帰モデルとして見る信号検出理論
回帰モデルとして見る信号検出理論Shushi Namba
 
마케팅 인사이트를 위한 데이터 분석
마케팅 인사이트를 위한 데이터 분석마케팅 인사이트를 위한 데이터 분석
마케팅 인사이트를 위한 데이터 분석ACE Trader
 
エクセルで統計分析5 マルチレベル分析のやり方
エクセルで統計分析5 マルチレベル分析のやり方エクセルで統計分析5 マルチレベル分析のやり方
エクセルで統計分析5 マルチレベル分析のやり方Hiroshi Shimizu
 

What's hot (13)

7 habits of highly effective people
7 habits of highly effective people7 habits of highly effective people
7 habits of highly effective people
 
効果のあるクリエイティブ広告の見つけ方(Contextual Bandit + TS or UCB)
効果のあるクリエイティブ広告の見つけ方(Contextual Bandit + TS or UCB)効果のあるクリエイティブ広告の見つけ方(Contextual Bandit + TS or UCB)
効果のあるクリエイティブ広告の見つけ方(Contextual Bandit + TS or UCB)
 
아이템 추천의 다양성을 높이기 위한 후처리 방법(논문 리뷰)
아이템 추천의 다양성을 높이기 위한 후처리 방법(논문 리뷰)아이템 추천의 다양성을 높이기 위한 후처리 방법(논문 리뷰)
아이템 추천의 다양성을 높이기 위한 후처리 방법(논문 리뷰)
 
NagoyaStat#7 StanとRでベイズ統計モデリング(アヒル本)4章の発表資料
NagoyaStat#7 StanとRでベイズ統計モデリング(アヒル本)4章の発表資料NagoyaStat#7 StanとRでベイズ統計モデリング(アヒル本)4章の発表資料
NagoyaStat#7 StanとRでベイズ統計モデリング(アヒル本)4章の発表資料
 
How to Have Difficult Conversations
How to Have Difficult ConversationsHow to Have Difficult Conversations
How to Have Difficult Conversations
 
I Heard it Through the Grapevine: Preventing Workplace Gossip
I Heard it Through the Grapevine: Preventing Workplace GossipI Heard it Through the Grapevine: Preventing Workplace Gossip
I Heard it Through the Grapevine: Preventing Workplace Gossip
 
Rで学ぶ離散選択モデル
Rで学ぶ離散選択モデルRで学ぶ離散選択モデル
Rで学ぶ離散選択モデル
 
操作変数法の書き方_田淵貴大
操作変数法の書き方_田淵貴大操作変数法の書き方_田淵貴大
操作変数法の書き方_田淵貴大
 
Durbin watson tables
Durbin watson tablesDurbin watson tables
Durbin watson tables
 
回帰モデルとして見る信号検出理論
回帰モデルとして見る信号検出理論回帰モデルとして見る信号検出理論
回帰モデルとして見る信号検出理論
 
마케팅 인사이트를 위한 데이터 분석
마케팅 인사이트를 위한 데이터 분석마케팅 인사이트를 위한 데이터 분석
마케팅 인사이트를 위한 데이터 분석
 
エクセルで統計分析5 マルチレベル分析のやり方
エクセルで統計分析5 マルチレベル分析のやり方エクセルで統計分析5 マルチレベル分析のやり方
エクセルで統計分析5 マルチレベル分析のやり方
 
Habit 1 Be Proactive Stephen Covey
Habit 1   Be Proactive Stephen CoveyHabit 1   Be Proactive Stephen Covey
Habit 1 Be Proactive Stephen Covey
 

Similar to 데이터분석의 길 4: “고수는 통계학습의 달인이다”

Chapter 11 Practical Methodology
Chapter 11 Practical MethodologyChapter 11 Practical Methodology
Chapter 11 Practical MethodologyKyeongUkJang
 
Ml for 정형데이터
Ml for 정형데이터Ml for 정형데이터
Ml for 정형데이터JEEHYUN PAIK
 
Variational Autoencoder를 여러 가지 각도에서 이해하기 (Understanding Variational Autoencod...
Variational Autoencoder를 여러 가지 각도에서 이해하기 (Understanding Variational Autoencod...Variational Autoencoder를 여러 가지 각도에서 이해하기 (Understanding Variational Autoencod...
Variational Autoencoder를 여러 가지 각도에서 이해하기 (Understanding Variational Autoencod...Haezoom Inc.
 
Machine learning bysogood
Machine learning bysogoodMachine learning bysogood
Machine learning bysogoodS.Good Kim
 
00_ML 기초_기본개념
00_ML 기초_기본개념00_ML 기초_기본개념
00_ML 기초_기본개념AHRA CHO
 
파이썬(Python) 으로 나만의 딥러닝 API 만들기 강좌 (Feat. AutoAI )
파이썬(Python) 으로 나만의 딥러닝 API 만들기 강좌 (Feat. AutoAI ) 파이썬(Python) 으로 나만의 딥러닝 API 만들기 강좌 (Feat. AutoAI )
파이썬(Python) 으로 나만의 딥러닝 API 만들기 강좌 (Feat. AutoAI ) Yunho Maeng
 
한눈에 보는 머신러닝
한눈에 보는 머신러닝한눈에 보는 머신러닝
한눈에 보는 머신러닝주경 이
 
Metric learning 세미나
Metric learning 세미나Metric learning 세미나
Metric learning 세미나ssuser198c901
 
Metric Learning 세미나.pptx
Metric Learning 세미나.pptxMetric Learning 세미나.pptx
Metric Learning 세미나.pptxDongkyunKim17
 
풀잎스쿨 - LIME 발표자료(설명가능한 인공지능 기획!)
풀잎스쿨 - LIME 발표자료(설명가능한 인공지능 기획!)풀잎스쿨 - LIME 발표자료(설명가능한 인공지능 기획!)
풀잎스쿨 - LIME 발표자료(설명가능한 인공지능 기획!)Bong-Ho Lee
 
[IMR2014]WEEK10
[IMR2014]WEEK10[IMR2014]WEEK10
[IMR2014]WEEK10JY LEE
 
PRML Chapter 7 SVM supplementary files
PRML Chapter 7 SVM supplementary filesPRML Chapter 7 SVM supplementary files
PRML Chapter 7 SVM supplementary filesSunwoo Kim
 
Deep neural networks for You-Tube recommendations
Deep neural networks for You-Tube recommendationsDeep neural networks for You-Tube recommendations
Deep neural networks for You-Tube recommendationsseungwoo kim
 
세월호/ 타이타닉호 사고의 빅 데이터 방법론적 분석
세월호/ 타이타닉호 사고의 빅 데이터 방법론적 분석세월호/ 타이타닉호 사고의 빅 데이터 방법론적 분석
세월호/ 타이타닉호 사고의 빅 데이터 방법론적 분석Kwang Woo NAM
 
파이썬으로 익히는 딥러닝 기본 (18년)
파이썬으로 익히는 딥러닝 기본 (18년)파이썬으로 익히는 딥러닝 기본 (18년)
파이썬으로 익히는 딥러닝 기본 (18년)SK(주) C&C - 강병호
 
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 1장. 한눈에 보는 머신러닝
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 1장. 한눈에 보는 머신러닝[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 1장. 한눈에 보는 머신러닝
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 1장. 한눈에 보는 머신러닝Haesun Park
 
boosting 기법 이해 (bagging vs boosting)
boosting 기법 이해 (bagging vs boosting)boosting 기법 이해 (bagging vs boosting)
boosting 기법 이해 (bagging vs boosting)SANG WON PARK
 
Transfer learning usage
Transfer learning usageTransfer learning usage
Transfer learning usageTae Young Lee
 
Deep Learning for AI (1)
Deep Learning for AI (1)Deep Learning for AI (1)
Deep Learning for AI (1)Dongheon Lee
 

Similar to 데이터분석의 길 4: “고수는 통계학습의 달인이다” (20)

Chapter 11 Practical Methodology
Chapter 11 Practical MethodologyChapter 11 Practical Methodology
Chapter 11 Practical Methodology
 
Ml for 정형데이터
Ml for 정형데이터Ml for 정형데이터
Ml for 정형데이터
 
Variational Autoencoder를 여러 가지 각도에서 이해하기 (Understanding Variational Autoencod...
Variational Autoencoder를 여러 가지 각도에서 이해하기 (Understanding Variational Autoencod...Variational Autoencoder를 여러 가지 각도에서 이해하기 (Understanding Variational Autoencod...
Variational Autoencoder를 여러 가지 각도에서 이해하기 (Understanding Variational Autoencod...
 
Machine learning bysogood
Machine learning bysogoodMachine learning bysogood
Machine learning bysogood
 
00_ML 기초_기본개념
00_ML 기초_기본개념00_ML 기초_기본개념
00_ML 기초_기본개념
 
파이썬(Python) 으로 나만의 딥러닝 API 만들기 강좌 (Feat. AutoAI )
파이썬(Python) 으로 나만의 딥러닝 API 만들기 강좌 (Feat. AutoAI ) 파이썬(Python) 으로 나만의 딥러닝 API 만들기 강좌 (Feat. AutoAI )
파이썬(Python) 으로 나만의 딥러닝 API 만들기 강좌 (Feat. AutoAI )
 
한눈에 보는 머신러닝
한눈에 보는 머신러닝한눈에 보는 머신러닝
한눈에 보는 머신러닝
 
Metric learning 세미나
Metric learning 세미나Metric learning 세미나
Metric learning 세미나
 
Metric Learning 세미나.pptx
Metric Learning 세미나.pptxMetric Learning 세미나.pptx
Metric Learning 세미나.pptx
 
PaLM Paper Review
PaLM Paper ReviewPaLM Paper Review
PaLM Paper Review
 
풀잎스쿨 - LIME 발표자료(설명가능한 인공지능 기획!)
풀잎스쿨 - LIME 발표자료(설명가능한 인공지능 기획!)풀잎스쿨 - LIME 발표자료(설명가능한 인공지능 기획!)
풀잎스쿨 - LIME 발표자료(설명가능한 인공지능 기획!)
 
[IMR2014]WEEK10
[IMR2014]WEEK10[IMR2014]WEEK10
[IMR2014]WEEK10
 
PRML Chapter 7 SVM supplementary files
PRML Chapter 7 SVM supplementary filesPRML Chapter 7 SVM supplementary files
PRML Chapter 7 SVM supplementary files
 
Deep neural networks for You-Tube recommendations
Deep neural networks for You-Tube recommendationsDeep neural networks for You-Tube recommendations
Deep neural networks for You-Tube recommendations
 
세월호/ 타이타닉호 사고의 빅 데이터 방법론적 분석
세월호/ 타이타닉호 사고의 빅 데이터 방법론적 분석세월호/ 타이타닉호 사고의 빅 데이터 방법론적 분석
세월호/ 타이타닉호 사고의 빅 데이터 방법론적 분석
 
파이썬으로 익히는 딥러닝 기본 (18년)
파이썬으로 익히는 딥러닝 기본 (18년)파이썬으로 익히는 딥러닝 기본 (18년)
파이썬으로 익히는 딥러닝 기본 (18년)
 
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 1장. 한눈에 보는 머신러닝
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 1장. 한눈에 보는 머신러닝[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 1장. 한눈에 보는 머신러닝
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 1장. 한눈에 보는 머신러닝
 
boosting 기법 이해 (bagging vs boosting)
boosting 기법 이해 (bagging vs boosting)boosting 기법 이해 (bagging vs boosting)
boosting 기법 이해 (bagging vs boosting)
 
Transfer learning usage
Transfer learning usageTransfer learning usage
Transfer learning usage
 
Deep Learning for AI (1)
Deep Learning for AI (1)Deep Learning for AI (1)
Deep Learning for AI (1)
 

데이터분석의 길 4: “고수는 통계학습의 달인이다”

  • 1. Apr 2015 권재명 데이터분석의 길 4: “고수는 통계학습의 달인이다”
  • 2. “머신러닝 (Machine learning)은 인공지능(Artificial Intelligence)에서, 통계학습 (Statistical learning)은 통계학(Statistics)에서 시작되었다. 두 학문은 유사하지만, 머신러닝은 대용량 자료와 예측의 정확도를 강조하고, 통계학습은 모형과 해석, 추론의 오차와 불확정성을 강조한다. ... 물론 더 잘팔리는 것은 머신러닝이다.” - Hastie and Tibshirani* * https://lagunita.stanford.edu/c4x/HumanitiesandScience/StatLearning/asset/introduction.pdf
  • 3. 통계/통계학습 기초는 생략한다. 응용통계/통계학습의 명저들이 수두룩하기 때문이다. 예를들어: ● Introduction to Statistical Learning (pdf) o 강의슬라이드와 R코드 o 약칭 ISL. 예측분석가의 필독서. 진도를 나가기 전에 (슬라이드라도) 1-6 장을 꼭 읽을 것을 권장한다. ● Modern Applied Statistics with S o 약칭 MASS.* ● Elements of Statistical Learning (pdf) o 약칭 ESL. 박사급(?) 예측분석가의 필독서. 수식이 무지 많다. * R의 기본 라이브러리중 하나인 library(MASS)는 이 책에 기반한 것이다.
  • 4. 기본개념 복습 (ISL 1장 참조) 지도학습 (Supervised learning)에는 회귀분석(regression analysis)과 판별분석 (classification)이 있다. 기본적인 용어와 표기법만 복습하자: ● 반응변수* Y 그리고 p-차원 예측변수** X ● 훈련 데이터 (training data)는 X와 Y 의 관측치*** (x1,y1),...,(xn,yn) ● 회귀분석모형 (model)+: Y = f(X) + ε. 오차항 ε 는 E(ε) = 0. ● 기대값 f(x) = E(Y|X = x) 은 꿈의 예측값이다. 현실에선 계산불가.++ ● 지도학습의 목표는 제한된 훈련데이터를 사용해 f(x)에 가장 가까운 fhat(x) 를 추정하는 것이다. * 혹은 outcome, dependent variable, response, target ** 혹은 predictor, inputs, regressors, covariates, features, independent variables *** 혹은 observations, examples, instances + 판별분석의 모형은 조금 복잡하다. ++그런데 꿈의 예측값 f(x)를 알아도 예측은 ε정도는 틀린다.
  • 5. 기본개념 복습 (ISL 2장, 5.1장 참조) 다음 질문이 혹시 헷갈린다면, ISL이나 다른 교재로 복습하도록 하자: 1. 모형의 복잡도(model complexity 혹은 flexibility)란? 2. 모수적 방법(parametric model)과 비모수적 방법(nonparametric model)이 란? 3. 과적합(overfitting)이란? 부적합 (under-fit)이란? 4. Bias-variance tradeoff란? Curse of dimensionality란? 과적합과의 관계는? 5. Training set 과 test set 이란? Training error, test error, Bayes error란? 모형 의 복잡도와 이들 error와의 관계는? (그림으로 그려보세요) 6. 모형평가(model assessment)와 모형선택(model selection)이란? 7. validation set 이란? 교차검증(cross-validation)이란?
  • 6. 이정도 모형은 알아두자 #1 모르면 인생이 피곤한 모형/방법* 과 R함수 1. 선형모형 (linear model)과 최소제곱적합 (least squares fit) lm a. 선형회귀 (linear regression), 분산분석(ANOVA), 등등은 특별한 케이스 b. 변수선택 기법 (forward, backward, stepwise, best subset) 2. 일반화 선형모형 (generalized linear model) glm a. 로지스틱 회귀모형은 특별한 케이스 * 미국 기업에서 “데이터 사이언티스트”한다고 인터뷰 하면 대부분의 회사는 대략 여기서 끝난다. 그 외 에는 기초 확률 통계. 다음 페이지의 방법을 묻는 회사/직책은 굉장히 적다.
  • 7. 자주 쓰이고, 알면 알수록 도움이 되는 모형/방법 1. regularization glmnet::glmnet* a. Lasso, ridge, elastic-net 등은 특별한 케이스 b. shrinkage 와 variable selection을 아우른다. 2. k-nearest neighbor (k-nn) class:knn 3. 트리 (tree)모형 rpart::rpart 4. random forest randomForest::randomForest * R 함수에서 class:knn 이라고 하면 library(class) 후 ?knn 하면 된다. R namespace에 관해 자세히 알 아보려면 R에서 ??"::" 로 도움말을 보자. 이정도 모형은 알아두자 #2
  • 8. 이정도 모형은 알아두자 #2 (계속) 5. local regression (LOESS) loess 6. linear discriminant analysis (LDA) MASS::lda 7. kernel smoothing, splines, generalized additive model (GAM) gam::gam
  • 9. 이정도 모형은 알아두자 #3 개념 이해하고, 패키지 돌리면 될 것 같은 모형들. 물론 깊이 알수록 좋다. 1. 차원축소(dimension reduction) 기법 a. principal component analysis (PCA) princomp b. singular value decomposition (SVD) svd 2. principal component regression mvr::mvr 3. naive Bayes e1071::naiveBayes 4. support vector machine (svm) e1071::svm 5. boosting gbm::gbm 혹은 mboost::mboost 6. bagging ipred::bagging 혹은 adabag::bagging 7. neural net nnet::nnet
  • 10. 의외로 쓸 기회가 많은 모형들. 1. mixed effect model / random effect model lme4::{lmer, glmer} a. 좋은 책: Data Analysis Using Regression and Multilevel/Hierarchical Models 2. Bayesian model a. Empirical Bayes, Hierarchical Bayesian model 등등. b. R 에서 하는 방법도 있지만 OpenBUGS / WinBUGS, JAGS, Stan 등의 독립된 툴들이 대세(라고 한다)*. * 필자의 약한 부분. -_-; 이정도 모형은 알아두자 #4
  • 11. 이정도 모형은 알아두자 #5 (“빅데이터”) R은 아주 큰 자료는 처리하지 못한다. R로 분산컴퓨팅이나 대용량 컴퓨팅을 해보 고자 하는 노력도 있지만, 배보다 배꼽이 커질 수 있다. 관측치가 많으면 (large n), 샘플링*하고 R로 돌리면 편하다. 아니면 Python, 특히 scikit-learn 이 좋은 대안이 될 수 있다. 관측치뿐 아니라, 변수 갯수까지 많다면 (large n and p), 툴도 문제지만 더 깊은 지식/경험이 필요하다. 이 경우 흔히 사용되는 툴중 하나가 Vowpal Wabbit 으로 써, 이 툴은 Lasso같은 Regularized 선형 모형을 배치(batch)가 아니라 stochastic gradient descent (SGD)를 이용해 온라인(online)으로 적합한다. 또다른 세계는 물론 딥러닝(Deep learning)이다.** * 나중에 “고수는 큰자료를 두려워하지 않는다”편에서 다룰 예정. ** 물론 이런 방법들이 활용되고, 필요한 직장은 1%도 되지 않는다.
  • 12. ... 이 방법들을 MASS와 ISL에 등장하는 데이터에 적용해 보도록 하자. 다음 편은...