SlideShare a Scribd company logo
1 of 37
Download to read offline
Garage.12 Data Science & Life Style SOO5028@NATE.COM
S.Good Kim
Data Science & Life Style
Machine Learning
2017.09.09
Garage.12 Data Science & Life Style
목차
1. Data 이해
2. Machine Learning 이해
3. Work Flow
4. Machine Learning_오차수정법
4-1. 최소제곱법
4.2. 최대사후확률추정
4.3. 경사하강법
5. Machine Learning_지도학습
5-1. 회귀기반
+ 선형회귀 (linear Regression)
+ Naïve Bayes Classifier
+ 정규화 (Regularization)
5-2. 머신러닝 기반
+ 앙상블 (Ensemble) : Bagging / Boosting / Random Forest
+ 의사결정나무 (Decision Tree)
+ SVM
+ KNN
+ 로지스틱 회귀 (Logistic Regression)
6. Machine Learning_비지도학습
6-1. Clustering
+ K-means
+ 계층적 군집 (Hierarchical Clustering)
6-2. 차원축소
+ 주성분 분석 (PCA)
+ T-SNE
7. Machine Learning_성능평가
7-1. Cross Valiation
7-2. 정밀도 / 재현율 / 정확도 / F-1 score
7-3. ROC & AUC
8. Appendix
8-1. Algorithm 이해1
8-2. Algorithm 이해2
8-3. Algorithm 이해3
목차
Garage.12 Data Science & Life Style
Data의 이해
Types of Data
+ Text Data
+ Network Data
+ Time Series Data
+ Image Data
Samples
+ Document Classification
+ Stock Market Prediction
+ Plate Num Recognition
+ SNS Recommendation
+ Helicopter Control
Data의
이해
데이터 라이브러리
+ Pandas : 데이터 간단 연산 수행
+ scikit-learn : 각종 머신러닝 모델
+ xgboost : 나무기반 예측 모델
+ metplotlib : 데이터 시각화
+ tqdm : 실시간 모니터링
데이터 수집 데이터 처리/관리 데이터 분석 결과활용
+ 내부 데이터
+ 외부 데이터
+ 데이터 전처리
+ 분산 파일 시스템 활용
+ 병렬 프로세싱
+ 스크립트 엔진
+ 통계 분석
+ 키워드 분석
+ NLP(자연어처리)
+ 머신러닝
+ 데이터 시각화
+ 통계차트
+ 통계 분석
+ 추천/예측 서비스
+ 외부 API 제공
Back End Front End
Crawler, ETL,
Parsing, Sqoop/Flume
HDFS, Zookeeper,
Hbase/Cassandra
Spark, Hadoop,
Python, R, SQL,
MongoDB, Pig
Data Visualization,
Graph, APIs
Garage.12 Data Science & Life Style
Machine Learning의 이해 머신
러닝
Learning = 표현 + 평가 + 최적화
표현 (Representation)
입력값을 처리해서 어떻게 결과값
을 만들지 결정하는 논리 모델
최적화 (Optimization)
평가에서 설정한 기준을
만족하는 최적의 조건을
찾는 것
평가 (Evaluation)
Task를 얼마나 잘 수행했
는지 판단 방법 or 기준
KNN, SVM, Decision Tree 등
문제해결 알고리즘이 표현에 해당
경사하강법(Gradient Descent) 등의
방법으로 최적 조건 찾음
최소제곱법과 같은 알고리즘으로 평가
*데이터 마이닝 : 가지고 있는 데이터에서 일정한 패턴이나 특성을 찾기 위함 (ex. 연관성분석(Association Analysis))
머신러닝은 기존 데이터로 모델을 학습시킨 후
새로운 데이터를 입력했을때 예측값을 알기위함
Garage.12 Data Science & Life Style
머신러닝은 주어진 데이터를 바탕으로 새로운 질문에 대해 예측하는 것이 최종 목적이며 이러한 머신러닝을 학습방법에 따라 구분 만약 사람이 어떤 데이터를
토대로 결과를 예측했는데 틀렸다면 무엇이 틀렸는지 확인하고 결과가 올바르게 나타나는 방향으로 수정 머신 러닝을 예측의 틀린 정도를 오차(Error)로 생각
하고 올바른 결과가 나오도록 방정식을 수정함
Machine Learning의 이해
지도학습 (Supervised Learning)
+ 컴퓨터에 학습을 시킬 때 사람이 개입하여 정답을 달아주는 방식으로 학습을 진행
비지도학습 (Unsupervised Learning)
+ 사람의 개입없이 컴퓨터 스스로 라벨링 되어 있지 않은 데이터에 대해 학습을 하는 방식
+ 이 세상에 존재하는 대부분의 데이터는 라벨이 붙어 있지 않음, 따라서 비지도학습은 머신러닝이 나아갈 방향
강화학습 (Reinforcement Learning)
+ 강화학습은 기계 혹은 컴퓨터로 하여금 현태 상태에서 어떤 행동을 취하는 것이 최적의 것인가를 학습
+ 하나의 행동을 취할때마다 외부에서 보상(reward)이 주어지며 이 보상이 최대화하는 방향으로 학습 진행
Types of Machine Learning
머신
러닝
Garage.12 Data Science & Life Style
Machine Learning_Workflow
Raw Data
Train Data Processed
Data
Raw Data
Trained
Model Evaluation Prediction
EDA &
Preprocessing
Model
Selection
Model
Evaluation
+ Data Cleaning
- Deduplication
- Outlier Detection
- Other Cleaning Techniques
+ Feature Extraction
+ Feature Scaling
+ Dummification
+ Dimensionality Reduction
+ Model Specification
+ Feature Selection
+ Cross Validation
+ Hyperparameters
+ Evaluation Metrics
1) EDA (Exploratory Data Analysis) : 탐색적 자료 분석
시각화와 기술 통계를 통해 데이터를 이해
2) Preprocessing : 전처리
데이터를 정제하고 가공해서 머신러닝 모델의 입력에 적합한 형태로 변형
Types of 전처리 :
3) Model Selection : 모델 선택
적절한 머신러닝 모델을 선택
What? How? :
4) Model Evaluation & Prediction : 평가 및 예측
만들어진 머신러닝 모델의 성능을 평가하고 모델을 활용하여 새로운 데이터에 대한 예측
How?
만들어진 모델이 얼마나 새로운 데이터에 대해 얼마나 일반화 (generalization) 가능한지 측정
평가용 데이터셋은 모델 선택과 학습 과정에서 쓰이지 않아야 함
평가용 데이터셋은 학습용 데이터셋과 동일한 전처리 과정을 거쳐야 함
머신
러닝
Garage.12 Data Science & Life Style
Machine Learning_오차 수정법
오차를 수정하는 방식에는…!
+ 최소제곱법 (method of least squares)
+ 최우추정법 (maximum likelihood method )
+ 최대사후확률추정 (maximum a posterior estimation )
+ 경사 하강법 (gradient descent )
+ 역전파 (backpropagation )
등등
오차
수정
Garage.12 Data Science & Life Style
오차 수정법_최소제곱법 (method of least squares)
실제 답과 결과 값의 오차의 제곱의 합이
최소가 되는 해를 구하는 방법
머신러닝에서 배우는 가장 단순한 모델로 입력과 출력의 관계가 선형이라고 가정
알고 싶은 값
예측 방정식
예측과 알고 싶은 값의 차이(유클리드 거리)의 제곱
오차의 제곱 합의 값을 최소값으로 구하기 위해…
최적화 해야하는 변수에 대해서 각각 편미분한 값이 0 이되도록 하는 점을 찾는 것
왼쪽 그래프와 같이 데이터들이 있을 때 오차의 제곱이
제일 작은(값들을 깔끔하게 통과하는) 함수를 얻을 수
있는 것
* 데이터가 많아지면 계산량이 매우 많이 증가한다는 단점이 있음, 이때 오차 제곱의 합을 Cost Function이라고 함
오차
수정
Garage.12 Data Science & Life Style
오차 수정법_최대사후확률추정 (MAP)
Parameter에 확률 분포를 주어서 베이즈 정리를
이용해 결과를 최대로 하는 값을 찾는 것
Ex) 10번의 동전을 던졌는데 8번 앞면만 나왔다고 했을 때…!P(A|B)
B 사건이 일어났을 때 A가 일어날 확률을 조건부 확률이라 함
P(A|B) = P(B|A)*P(A)/P(B)
이를 베이즈 정리에 따르면…
결론 : A > B 확률을 통해서 B > A 확률을 추측할 수 있는 것
A : 동전던지기의 확률(0.5)
B : 결과의 확률(0.8)
P(A|B) — 결과가 나왔을 때 동전던지기의 확률
P(A|B)
= P(B|A)*P(A)/P(B)
= 동전던지기로 10번 던졌을 때 8번 나올 확률 * 동전던지기의 확률 / 결과 값의 확률
= (10C8*(1/2)¹⁰* 1/2) / (0.8)
오차
수정
Garage.12 Data Science & Life Style
오차 수정법_경사하강법 (Gradient Descent)
함수의 기울기를 구하여 기울기가 낮은 쪽으로
계속 이동시켜서 극값에 이를 때까지 반복
2차 방정식을 미분하여 그 경사를 따라서 움직이고
이를 반복하면 최소값으로 수렴
이 그래프를 오차의 그래프라고 하면 비용함수(Cost Function) 일 것이고
이를 최소화 하는 방법이 Gradient Descent
함수가 Quadratic function이 아니라면 미분해서 한번에 에러가
최소가 되는 지점을 계산하는 것은 매우 어려움
오차가 줄어드는 방향으로 기울기 하강을 선택
이렇게 하강한다면 언젠가는 최소값으로 도달할 것
오차
수정
*비용함수(cost function) : 가설함수의 각항의 개수가 되는 최적의 𝜃를	구하는 식, 오차 제곱의 합을 Cost Function
Garage.12 Data Science & Life Style
오차 수정법_경사하강법 (Gradient Descent)_Local & Global Minima
오차
수정
경사하강법 (Gradient Descent)에서
제대로 된 최저점을 Global Minima라고 하며 잘못된 최저점을 Local Minima라 함
잘못된 최저점
Local Minima
제대로 된 최저점
Global Minima
1. 2.
Garage.12 Data Science & Life Style
Machine Learning_지도학습 (Supervised Learning)
Cases, such as
+ Spam Filtering
+ Automatic Grading
+ Automatic Categorization
Classification or Regression of
+ 공부 시간으로 시험점수 맞추기
+ 집값 맞추기
정답이 있는 문제, Labeled data(x, y)
Types of 지도학습
+ 분류 (Classification)
- Discrete (categorical) valued output 예측하기
- 예/아니오 문제일 때 : binary classification
- 다지선다형 문제일 때 : multi-class classification
+ 회귀 (Regression)
- Continuous valued output 예측하기
지도
학습
Garage.12 Data Science & Life Style
지도
학습
지도학습의 2가지 주요 카테고리
1) 회귀기반 머신러닝
+ ’얼마나 많은가?’와 같은 양적인 문제를 해결하는데 도움이 되는 알고리즘
+ 일반적으로 출력은 연속된 값
+ 종류 : 선형회귀, 다변량회귀, 나이브 베이즈 분류기 (Naïve Bayes Classifier), Ridge, Lasso
2) 머신러닝 기반 분류
+ 객관식 문제 예측의 해결을 돕는 학습 알고리즘
+ 새로운 데이터와 형성된 모델로 부터 보지못한 데이터 분류
+ 종류 : 의사결정나무, Bagging, Boosting, Random Forest, 서포트 백터 머신 (SVM), 로지스틱회귀, KNN
*회귀와 분류 문제에 모두 사용가능한 알고리즘 è GBM, SVM, Tree-Based Model, Random Forest
Machine Learning_지도학습 (Supervised Learning)
Garage.12 Data Science & Life Style
회귀기반_선형회귀 (Linear Regression)
설명변수(explanatory variable)와 목적변수(target variable) 사이에 선형 관계
지도
학습
훈련데이터 세트
(X, Y)
학습 알고리즘
가설
입력 데이터
(X)
예측값 데이터
(Y)
Concept
*ex : (X, Y) = 메일 내용, 스팸 여부
주어진 데이터가 어떤 함수로 부터 생성됐는가를
알아보는 ”함수관계”를 추측하는것
Garage.12 Data Science & Life Style
지도
학습회귀기반_선형회귀 (Linear Regression)
x1, x2 두가지 변수를 갖는 다중 회귀 분석
위와 같은 데이터가 주어졌을 때
(y = x1 + x2 그래프에 오차가 추가된 데이터)
y = w1 * x1 + w2 * x2 + b(초기값 — w1, w2 : -1~1 랜덤, b = 0)
라고 정의하고 학습을 해보면 아래와 같은 결과를 얻을 수 있음
+ 변수가 2개 이기 때문에 결과는 평면으로 나타내고 학습을
진행할수록 오차가 작아지는 평면을 결과로 얻음
+ 다중 회귀 분석을 통해서 데이터가 존재하면 그 데이터를
표현하는 함수를 학습할 수 있음
+ 이를 이용하여 과거의 데이터를 통해서 미래의 데이터 예측
Garage.12 Data Science & Life Style
회귀기반_Naive Bayes Classifier
지도
학습
텍스트 분류(스팸)에 사용 될 수 있는 분류 방법중 하나이며
Bayes’ rule (베이즈 룰) 의 적용을 기본으로 하는 알고리즘
이 알고리즘은 입력 열과 예측 가능한 열 간의 관계를 검색하는 마이닝 모델을 신속하게 생성하는데 유용
초기 데이터 탐색을 수행한 후 나중에 그 결과를 적용하여 보다 복잡하고 정확한 다른 알고리즘으로 추가 마이닝 모델을 만듦
대표사례는 스팸 메일 필터에 사용, 이전에 스팸으로 처리한 문서를 기반으로 앞으로 들어오는 문서가 스팸인지 아닌지 판단
알고리즘앞에 Naïve가 의미하는 것은 예전 스팸 문서에 a, b, c라는 단어가 있다고 가정 할 때 b가 나타날 확률은 a 나 c와
무관하다고 가정 하는 것
Ex)
최근 수신한 메일에 Test가 포함 되었을 경우 스팸일 확율은?
A : Spam
B : Test
Bayesian 알고리즘 è P(AlB) = P(BlA)*P(A)/P(B)
가정
P(A|B) : 사건 B가 발생한 상태에서 사건 A가 발생할 조건부 확률
P(B|A) : 사건 A가 발생한 상태에서 사건 B가 발생할 조건부 확률
P(A) : 사건 A가 발생할 확률, B에 대한 어떠한 정보도 없는 상태에서 A가 발생활 확률
P(B) : 사건 B가 발생할 확률, A에 대한 어떠한 정보도 없는 상태에서 B가 발생할 확률
= P(BlA)P(A) / P(B)
P(AlB) = P(A ∩	B) / P(B) Spam
Test
Naïve Bayes Classifier은…?
Garage.12 Data Science & Life Style
지도
학습회귀기반_정규화(Regularization)
기계학습 알고리즘은 종종 과적합(overfitting) 문제가 발생하여 정규화(regularization)를 통해 문제를 해결
Ex) Linear regression (housing price)
𝜃$ + 𝜃%x
underfit
price
size
price
size
price
size
𝜃$ + 𝜃%x +	𝜃'x' 𝜃$ + 𝜃%x +	𝜃'x' + 𝜃(x( + 𝜃)x)
Just right overfit
Overfit 해결 방법
+ 주요 특징을 직접 선택
+ Model selection 알고리즘 활용
+ Regularization : 모든 특징을 사용하나 특징 𝜃*에 대한 parameter를 줄임
+ Ridge 회귀모형
+ Lasso 회귀모형
+ Elastic Net 회귀모형
Ridge Lasso Elastic Net
가중치들의 제곱합을 최소화하는 것을
추가적인 제약 조건으로 함
가중치의 절대값의 합을 최소화하는 것
을 추가적인 제약 조건으로 함
가중치의 절대값의 합과 제곱합을 동시
에 제약 조건으로 함
λ는 기존의 잔차 제곱합과 추가적 제약
조건의 비중을 조절하기 위한 하이퍼
모수(hyper parameter), λ가 크면 정
규화 정도가 커지고 가중치의 값들이
작아짐. λ가 작아지면 정규화 정도가
작아지며 λ 가 0이 되면 일반적인 선형
회귀 모형이 됨
λ1, λ2 두 개의 하이퍼 모수를 가짐
*Ridge vs Lasso
Ridge은 가중치 계수를 한꺼번에 축소시키는데 반해 Lasso는 일부 가중치가 먼저 0으로 수렴하는 특성이 있음
모형이 과도하게 최적화되면 모형 계수의 크기도 과도하게
증가함, 따라서 정규화 방법에서 추가하는 제약 조건은
일반적으로 계수의 크기를 제한하는 방법으로…!
3가지 방법이 사용 :
Garage.12 Data Science & Life Style
머신러닝기반_의사결정나무 (Decision Tree)
Decision Tree 목적…?
1) 세분화 (Segmentation)
+ 데이터를 비슷한 특성을 갖는 몇개의 그룹으로 분할해 그룹별 특성을 발견하는 경우
+ 각 고객이 어떤 집단에 속하는지를 파악하고자 하는 경우
Ex) 시장세분화, 고객세분화
2) 분류 (Classification)
+ 관측개체를 여러 예측 변수들에 근거해 목표변수의 범주를 몇개의 등급을 로 분류하고자 하는 경우
Ex) 고객을 신용도에 따라 우량/불량으로 분류
3) 예측 (Prediction)
+ 자료에서 규칙을 찾아내고 이를 이용해 미래의 사건을 예측하고자 하는 경우
Ex) 고객속성에 따라서 대출한도액을 예측
4) 차원축소 및 변수선택 (Data reduction and variable screening)
+ 매우 많은 수의 예측변수 중에서 목표변수에 큰 영향을 미치는 변수들을 골라내고자 하는 경우
5) 교호작용효과의 파악 (Interaction effect identification)
+ 여러 개의 예측변수들을 결합해 목표변수에 작용하는 규칙을 파악하고자 하는 경우
6) 범주의 병합 또는 연속형 변수의 이산화 (Binning)
+ 범주형 목표변수의 범주를 소수의 몇 개로 병합하거나 연속형 목표변수를 몇 개의 등급으로
이산화 하고자하는 경우
남자인가?
지도
학습
(나이>9.5)
인가?
(sibsp>2.5)
인가?
생 존
사 망
사 망 생 존
0.73, 36%
0.17, 61%
0.05, 2% 0.89, 2%
예 아니오
*’sibsp’는 탑승한 배우자와 자녀의 수를 의미
*관측값 (성별, 나이, 배우자와 자녀의 수)
*목표값 (생존여부)
Ex) 타이타닉 호 탑승자의 성별, 나이, 배우자와 자녀
의 수를 이용해서 생존확률을 구분해 나가는 것
어떤 항목에 대한 관측값과 목표값을 연결시켜주며 특정 항목에 대
한 의사 결정 규칙(Decision rule)을 나무 형태로 분류해 나가는
분석 기법
Garage.12 Data Science & Life Style
머신러닝기반_앙상블 (Ensemble)
여러가지 동일한 종류의 혹은 서로 상이한 모형들의 의사
결정들을 결합하여 최종적인 의사결정에 활용하는 방법론
단일 모형으로 분석했을 때 보다 정확한 예측 수행 가능
Ex. 두 집단을 분류하는 분류기가 5개 있고, 각각의 오분류율이 5%라고 가정할 때, 만약 해당 모형들이 모두 동일한 결정을 내린다고 한다면 모형의 오분류율은 5%가 됨
하지만, 각각의 분류기가 상호독립적이어서 전체 분류기의 절반 이상이 오분류를 하는 경우에 앙상블 모형의 오분류율은 0.01%로 떨어지게 됨
앙상블의 조건…?
+ 각각의 분류기는 상호 독립적이어야 함
+ 각 분류기의 오분류율은 적어도 50%보다는 낮아야 함
앙상블 모형의 종류…?
1) 데이터를 조정하는 방법 (Bagging, Boosting)
+ 적절한 표본추출 방법을 활용하여 여러 개의 훈련용 데이터 집합을 생성
+ 각각의 데이터 집합을 활용하여 여러 개의 분류기를 생성하여 앙상블을 진행
2) 변수의 개수를 조절하는 방법 (Random Forest)
+ 전체 변수집합에서 부분 변수집합을 선택하여 훈련용 데이터 생성
+ 각각의 데이터 집합에 대해 분류기를 생성한 후 앙상블을 진행
3) 집단명을 조절하는 방법
+ 집단의 종류가 많은 경우 소수의 집단만으로 묶어서 분류
+ 각 집단에 소속되는지에 대한 여부만 분류하는 분류기를 생성하여 앙상블 모형에 적용
4) 분류모형의 가정을 조절하는 방법
+ 하나의 분류모형은 모수에 대한 가정 또는 알고리즘에 대한 가정에 따라 상이해짐
+ 모수 및 가정을 변경하여 여러 개의 모형을 생성하여 앙상블을 진행
지도
학습
Garage.12 Data Science & Life Style
머신러닝기반_Ensemble_배깅 (Bagging)
훈련용 데이터 집합으로부터 크기가 같은 표본을 여러 번 단순확률
반복 추출 하여 각각에 대한 분류기를 생성하고, 생성된 분류기들
의 결과를 종합하여 의사결정을 내리는 방법
Bagging이란…?
Bootstrap Aggregating의 줄임말
+ 훈련용 데이터에서 Bootstrap Sampling을 통해
N개의 부분 데이터셋(Sub dataset)을 생성
+ 각각에 대해 학습 알고리즘(Learning Algorithm)을
적용하여 분류기(Classifier)를 생성
+ 사전에 별도로 나눠놓았던 평가용 데이터(Testing Data)를
생성된 분류기를 활용하여 모형을 평가
지도
학습
Garage.12 Data Science & Life Style
Bagging의 경우 각각의 분류기들이 학습시에 서로 상호 영항을 주지 않고 그
결과를 종합하는 반면, Boosting은 이전 분류기의 학습 결과를 토대로 다음
분류기의 학습 데이터의 샘플 가중치를 조정하여 학습을 진행
Boosting이란…?
+ Bagging과 유사하게 초기 샘플 데이터를 조작하여
다수의 분류기를 생성하는 기법 중 하나
+ Bagging과의 큰 차이는 순차적(Sequential) 방법
+ 일반적으로 Boosting 알고리즘은 의사결정나무 모형을
주로 사용함
지도
학습머신러닝기반_Ensemble_부스팅 (Boosting)
Garage.12 Data Science & Life Style
다수의 의사결정 나무를 결합하여
하나의 모형을 생성하는 방법
Random Forest란…?
Tree들 간의 상관성을 제거하는 (decorrelate) 간단한 방법으로 tree bagging보다 우수한 성능을 제공
다양성을 극대화 하여 예측력이 상당히 우수한 편이고 Bagging과 동일하게 Bootstrap 표본을 이용한 다수의 트리의
예측 결과를 종합하여 의사결정을 진행하기 때문에 안정성도 상당히 높다는 장점 하지만 랜덤포레스트 역시 다수의 트리를 이용한
의사결정 기법을 이용하기 때문에 기존의 트리가 갖는 장점 중 하나인 설명력을 잃게 된다는 단점이 존재
Assessment…?
일반적으로 Random Forest Model에 대한 평가는 bagging 모형과 유사하게 OOB (out-of-bag) sample을 이용해 추정
Procedure
Bagging과 마찬가지로 original sample에서 B개의 bootstrap sample을 추출하고, 사전에 설정한 모형 적합에
이용할 변수의 수 k만큼 random하게 변수를 선택해 첫 번째 sample의 첫 번째 분할에 적용
그 다음 두 번째 분할에서는 또 다시 p개의 변수중 k개의 변수를 선정해 가지 분할의 대상이 될 변수를 선택
이 과정을 하나의 tree가 끝까지 생성 될 때까지 반복 그리고 앞선 과정을 다시 모든 subtree에 대해 반복
지도
학습머신러닝기반_Ensemble_랜덤포레스트 (Random Forest)
Garage.12 Data Science & Life Style
앙상블 모형의 차이
기존 앙상블의 경우 하나의 전체 데이터를 활용하여 서로
다른 학습 분류기를 통합하는 방법
Boosting의 경우 전체 데이터에서 여러 샘플링 데이터를 추
출하여 순차적으로 이전 학습 분류기의 결과를 토대로 다음
학습 데이터의 샘플 가중치를 조정하면서 학습을 진행
Bagging의 경우 전체 데이터에서 여러 샘플링 데이터를
추출하여 서로 다른 학습 분류기를 통합하는 방법
Out-of-Bag 샘플은 위의 흐름도에서 Bootstrap 샘플링 과정에서 추출
되지 않은 관측치들을 말하며, 이 샘플들은 주로 평가용 데이터에서의
오분류율을 예측하는 용도 및 변수 중요도를 추정하는 용도로 많이 이용
지도
학습머신러닝기반_Ensemble_모형들의 차이
Garage.12 Data Science & Life Style
머신러닝기반_SVM(Support Vector Machines)
지도
학습
패턴인식, 자료분석을 위한 지도학습 모델
즉, 2개의 범주를 분류하는 이진 분류기
SVM이란…?
주로 분류와 회귀분석을 위해 사용, 주어진 데이터 집합을 바탕으로 새로운 데이터가
어느 카테고리에 속할 것인지 판단하는 비확률적 이진 선형 분류 모델
기본적인 원리는 왼쪽 사진을 봤을 때, 흰색 바둑알과 검은색 바둑알이 학습용 데이터로
주어졌다고 하자 두 그룹에서 각각의 데이터 간 거리를 측정하여 두 개의 데이터 사이의
중심을 구한 후에 그 가운데에서 최적의 초평면(Optimal Hyper Plane)을 구함으로써
흰색과 검은색 그룹을 나누는 방법을 학습하게 된다. 여기서 직선으로 나눌 수 있다면
선형 분류 모델을 적용하고, 직선으로 나눌 수 없는 경우 비선형 분류 모델을 사용
* 그룹을 분류하는 데이터를 기준으로 한 선 또는 면을 Hyper plane 이라고 하며, 이것을 maximum hyper plane(최대 초평면)이라 부른다.
이때 가장 가까운 벡터들을 support vector라 함
Garage.12 Data Science & Life Style
지도
학습머신러닝기반_KNN(K-Nearest Neighbors)
KNN이란…?
가장 간단한 분류 알고리즘
입력값과 K개의 가까운 점들이 있다고 생각하고 그 점들이 어떤 라벨과 가장 비슷한지를 판단하는 것
초록색 점을 k = 3이라는 기준으로 바라보면(진한 원)
빨간색 삼각형과 더 비슷하다고 할 수 있으므로
초록색 입력은 ‘빨간 삼각형이다’ 라고 분류할 수 있음
비모수 모델 (Non-parametric model)
+ 파라미터가 없음
+ 데이터의 모양에 대한 가정을 하지 않음
+ 장점 : 모양이 이상해도 잘 작동
+ 단점 : 데이터가 많이 필요
* KNN은 데이터의 차원이 높아질수록 성능이 크게 떨어짐
Garage.12 Data Science & Life Style
머신러닝기반_로지스틱 회귀 (Logistic Regression)
지도
학습
선형 회귀 분석과는 다르게 결과가 범주형일 때 사용
(ex . 학생이 문제를 맞을 것인지 틀릴 것인지, 내일 비가 올지 안올지, 과목의 학점이 A인지 B인지 C인지)
y = w*x + b
y를 확률에 관한 식으로 만들고 이항하여 로지스틱 함수를 얻어냄
로지스틱 함수의 모양은 아래와 같이 표현
(로지스틱 함수)
독립 변수의 선형 결합으로 종속 변수를 설명한다는 관점에서는 선형회귀 분석과 유사하
지만 로지스틱 회귀는 선형회귀 분석과 다르게 종속 변수가 범주형 데이터를 대상으로 하
며 입력 데이터가 주어졌을 때 해당 데이터의 결과가 특정 분류로 나눠지기 때문에 일종의
분류 기법
모델의 신뢰도 검증
+ ROC Curve
+ AUC (the Area Under a ROC Curve)
x축 : 틀린 것을 맞다고 할 확률
y축 : 맞은 것을 맞다고 할 확률
Garage.12 Data Science & Life Style
Types of 비지도학습
1) 군집 (Clustering)
+ 데이터 중에 가까운 것끼리 묶기
(ex. 마케터를 위한 고객 군집화)
+ 종류 : K-means, 계층적 (hierarchical) 군집화
2) 차원축소 (Dimensionality Reduction)
+ 고차원 공간을 저차원으로 축소
+ Goal : 데이터 압축, Noise 제거, 시각화
+ 종류 : 주성분 분석 (PCA), T-SNE
3) 생성 (Generation)
- 가짜 데이터 만들기 (ex. 얼굴 생성)
Machine Learning_비지도학습 (Unsupervised Learning)
정답이 없는 문제, Unlabled data(x)
Goal : Discover structure of data
Cases, such as
+ Discovering clusters
+ Discovering latent factors
+ Discovering graph structures
Clustering or filtering or completing of
+ Finding the latent image from facial data
+ Competing the incomplete matrix of product
+ Filtering the noise from the trajectory data
비지도
학습
Garage.12 Data Science & Life Style
Clustering_K-means clustering
데이터 분류 종류를 K개 거리가 가장 가까운 기준끼리 군집
알려지지 않은 서브그룹들을 발견하기 위한 광범위한 분류의 방법
Clustering이란…?
예측을 하는 데 사용하기 보다는 데이터에서 의미를 파악하고 기준을 만드는데
사용하며 아무런 정보가 없는 상태에서 데이터를 분류하는 방법
(-1,-1), (9,9), (7,-3) 을 기준으로
정규분포를 따라 생성한 데이터
첫번째 학습 (빨간점 — 기준)
임의의 3개의 기준을 선택하고 주변 데이터들이
어떤 기준에 해당하는지 확인
두번째 학습 (빨간점 — 기준)
평균을 새로운 기준으로 갱신하여 가장 적절한 중
심점을 찾는것
비지도
학습
* 군집화는 이미지 데이터 처리에 많이 사용
Garage.12 Data Science & Life Style
Clustering_계층적 군집 (Hierarchical clustering)
계층적 군집이란…?
모든 관찰치는 자신만의 군집에서 시작하여 유사한 데이타 두 개를 하나의 군집으로 묶는데
이를 모든 데이타가 하나의 군집으로 묶일때까지 반복한다
+ 모든 관찰치 군집으로 정의
+ 모든 군집에 대하여 다른 모든 군집과의 거리를 계산
+ 가장 작은 거리를 갖는 두 군집을 합해 하나의 군집으로 만든다. 따라서 군집의 갯수가 하나 감소
+ 2와 3을 반복하여 모든 관찰치가 하나의 군집으로 합쳐질 때까지 반복
군집방법 두 군집 사이의 거리 정의
최단연결법 (single linkage clustering) 한 군집의 점과 다른 군집의 점 사이의 가장 짧은 거리(shortest distance)의 데이터를 묶어 군집 형성
(chaining은 유사하지 않은 관측치들의 중간 관측치들이 유사하기 때문에 하나의 군집으로 합침)
최장연결법 (complete linkage
clustering)
한 군집의 점과 다른 군집의 점 사이의 가장 긴 거리(longest distance)의 데이터를 묶어 군집 형성
(거의 비슷한 직경을 갖는 compact cluster를 만드는 경향이 있으며 이상치에 민감)
평균연결법 (average linkage) 한 군집의 점과 다른 군집의 점 사이의 평균 거리의 데이터를 묶어 군집 형성
(chaining결향이 덜하고 이상치에도 덜 민감하다. 또한 분산이 적은 군집을 만듦)
센트로이드연결법 (centroid) 두 군집의 centroids(변수 평균의 벡터) 사이의 거리, 관측치가 하나인 경우 centroid는 변수의 값이 됨
(다른 방법들에 비해 이상치에 덜 민감하지만 average linkage나 Ward방법에 비해 수행능력이 떨어짐)
와드연결법 (Ward) 모든 변수들에 대하여 두 군집의 ANOVA sum of square를 더한 값, 군집 내 편차들의 제곱합을 고려한 방법이며 군집 간 정보의 손실 최소화
(적은 관찰치를 갖는 군집을 만드는 경향이 있으며 관찰치의 수와 거의 같은 군집을 만듦)
비지도
학습
* Chain : 긴 시가모양의 군집이 만들어지는 경향
Garage.12 Data Science & Life Style
차원축소_주성분분석(PCA)
차원축소란…?
데이터의 의미를 제대로 표현하는 특징을 추려내는 것
대부분의 상황에서 차원의 크기는 특징(features)의 개수를 나타내고 특징(features)이
너무 많기 때문에 학습이 어렵고 더 좋은 특징만 가지고 사용하는것
PCA는 비선형의 데이터에서 적용하기 어려움
데이터의 분포를 가장 잘 표현하는 성분을 찾아주는 것
지도기법이 적용되기 전에 데이터를 시각화하거나
전처리하는데 사용
그래프에서 x, y 축보다 화살표방향의 두 축이 데이터를
더 잘 표현하는 것(주성분)을 알 수 있으며
주성분은 통계학적으로 데이터들의 분산이 가장 큰 방향 벡터를 의미함
*분산 - 데이터가 평균에서 얼마나 떨어져 있는가를 의미
비지도
학습
Garage.12 Data Science & Life Style
차원축소_T-SNE
비지도
학습
T-SNE란…?
PCA는 선형(Linear) 관계밖에 찾아내지 못하여 복잡한 관계에서 활용하기 어려움
하지만 T-SNE (t-Distributed Stochastic Neighbor Embedding)의 경우 상대적으로 새롭고 더 효과적인 알고리즘
비선형 차원축소 기법으로 데이터를 시각화하여 패턴을
찾아내고 싶을때 주로 사용하며 결과값을 클러스터링이나
분류 모델에 넣어 활용
하는일…?
+ 데이터 포인트들 사이의 유사도를 통해 데이터의 패턴 찾기
+ 고차원의 데이터를 저차원의 공간으로 매핑
+ 클러스터링 알고리즘이 아니기에 클러스터가 나뉘지 않음
+ T-SNE 결과를 클러스터링이나 분류 모델에 넣어 활용할 수 있음
*T-SNE는 word2vec으로 임베딩한 단어벡터를 시각화하는데 많이 쓰이고 문서 군집화를 수행한 뒤 이를 시각적으로 나타낼 때도 자주 사용
단점…?
+ Black Box : 알고리즘 작동 방식을 이해하기 어렵고 결과에서 인사이트를 뽑기 어려움
+ Randomness : 돌릴때마다 결과가 조금씩 달라짐
+ 시간이 오래 걸림
PCA T-SNE
Garage.12 Data Science & Life Style
성능평가_교차검증(Cross Validation)
성능
평가
Cross Validation이란…?
예측 모형검증을 위해 Training에 사용되지 않은 Test data를 사용해야함
정상적으로 검사하기위해 Test data가 별도로 있어야 하기 때문에 Test data를 어떻게 골라내느냐에 따라 모형 성능이 달라짐, 이때 각기 다른 방법
으로 서로 다른 Test data를 여러 번 골라내서 복수 테스트를 실시하는것
👉 교차 검증을 통한 모형 성능은 보통 다음과 같은 두 가지 값으로 나타냄
+ 오차 평균(mean performance): 트레이닝에 사용되지 않은 테스트 데이터(test data)에 대해서 평균 오차의 크기가 얼마나 작은가?
+ 오차 분산(variance): 트레이닝에 사용되지 않은 테스트 데이터(test data)에 대해 오차의 크기가 얼마나 달라지는가?
이 중에서 오차 분산을 계산하려면 테스트 데이터 셋이 최소한 세 개 세트가 있어야 함
K-fold CV
K-fold CV(cross-validation) 방법은 데이터 셋을 K개의 sub-set로
분리하는 방법, 분리된 K개의 sub-set 중 하나만 제외한 K-1개의
sub-sets를 training set으로 이용하여 K개의 모형 추정
Garage.12 Data Science & Life Style
성능평가_정밀도/재현율/정확도/F-1 Score
성능
평가
Binary Classifier (True or False)과 같은 결과를 통계적으로 분석할 때 사용
+ 정밀도 (Precision)
예측한 것중 정답의 비율은?
+ 재현율 (Recall)
찾아야 할 것중에 실제로 찾은 비율은?
+ 정확도 (Accuracy)
예측이 정답과 얼마나 정확한가?
+ F1 Score
정밀도와 재현율의 평균
실험 결과
True False
실제 정답
True a b
False c da / (a + c)
a / (a + b)
(a + d) / (a + b + c + d)
2 * (Precision * Recall) / (Precision + Recall)
Garage.12 Data Science & Life Style
성능평가_ROC & AUC
성능
평가
Ø True Positive (= sensitivity, 민감도) : TP/P = TP/(TP+FN)
진짜 환자 중 검사 방법이 얼마나 환자를 잘 골라내는가?
Ø True Negative (= Specificity, 특이도) : TN/N=TN(FP+TN)=1-FPR
진짜 정상인 중 검사가 정상인을 얼마나 잘 골라내는가?
X축은 False positive rate (= 1 – True Negative)
Y축은 True Positive rate
+ Roc(Receiver Operating Characteristic) Curve는 그래프가 왼쪽 꼭대기에 가깝게 그려질수록,
긍정은 다 맞추고 부정도 다 맞추는 위치가 되어 Classification 성능이 우수하다고 봄
+ AUC (Area Under the Curve)는 Classifier의 합리성을 나타내는 지표로 ROC curve의
아래 면적을 의미함
+ AUC의 최대값은 1이며, 1에 가까울수록 Sensitivity와 Specificity가 모두 높은것으로
좋은 Classification이라 할 수 있음
ROC (Receiver Operating Characteristic) Curve
AUC (Area Under the Curve)
CONDITION
Positive Negative
Test
Outcome
Positive True Positive
False Positive
(Type II Error)
Negative
False Negative
(Type II Error)
True Negative
Garage.12 Data Science & Life Style
Appendix_Algorithm의 이해1
알고리즘
이해
Garage.12 Data Science & Life Style
Appendix_Algorithm의 이해2
알고리즘
이해
Garage.12 Data Science & Life Style
Appendix_Algorithm의 이해3
알고리즘
이해

More Related Content

What's hot

5.model evaluation and improvement(epoch#2) 1
5.model evaluation and improvement(epoch#2) 15.model evaluation and improvement(epoch#2) 1
5.model evaluation and improvement(epoch#2) 1Haesun Park
 
2.supervised learning(epoch#2)-3
2.supervised learning(epoch#2)-32.supervised learning(epoch#2)-3
2.supervised learning(epoch#2)-3Haesun Park
 
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 1장. 한눈에 보는 머신러닝
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 1장. 한눈에 보는 머신러닝[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 1장. 한눈에 보는 머신러닝
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 1장. 한눈에 보는 머신러닝Haesun Park
 
ESM Mid term Review
ESM Mid term ReviewESM Mid term Review
ESM Mid term ReviewMario Cho
 
파이썬(Python) 으로 나만의 딥러닝 API 만들기 강좌 (Feat. AutoAI )
파이썬(Python) 으로 나만의 딥러닝 API 만들기 강좌 (Feat. AutoAI ) 파이썬(Python) 으로 나만의 딥러닝 API 만들기 강좌 (Feat. AutoAI )
파이썬(Python) 으로 나만의 딥러닝 API 만들기 강좌 (Feat. AutoAI ) Yunho Maeng
 
2.supervised learning(epoch#2)-2
2.supervised learning(epoch#2)-22.supervised learning(epoch#2)-2
2.supervised learning(epoch#2)-2Haesun Park
 
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 2장. 머신러닝 프로젝트 처음부터 끝까지
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 2장. 머신러닝 프로젝트 처음부터 끝까지[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 2장. 머신러닝 프로젝트 처음부터 끝까지
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 2장. 머신러닝 프로젝트 처음부터 끝까지Haesun Park
 
머신 러닝 입문 #1-머신러닝 소개와 kNN 소개
머신 러닝 입문 #1-머신러닝 소개와 kNN 소개머신 러닝 입문 #1-머신러닝 소개와 kNN 소개
머신 러닝 입문 #1-머신러닝 소개와 kNN 소개Terry Cho
 
R을 이용한 데이터 분석
R을 이용한 데이터 분석R을 이용한 데이터 분석
R을 이용한 데이터 분석simon park
 
HR Analytics - 퇴직가능성예측모델
HR Analytics - 퇴직가능성예측모델HR Analytics - 퇴직가능성예측모델
HR Analytics - 퇴직가능성예측모델Seong-Bok Lee
 
3.unsupervised learing(epoch#2)
3.unsupervised learing(epoch#2)3.unsupervised learing(epoch#2)
3.unsupervised learing(epoch#2)Haesun Park
 
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 3장. 분류
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 3장. 분류[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 3장. 분류
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 3장. 분류Haesun Park
 
집단지성 프로그래밍 06-의사결정트리-01
집단지성 프로그래밍 06-의사결정트리-01집단지성 프로그래밍 06-의사결정트리-01
집단지성 프로그래밍 06-의사결정트리-01Kwang Woo NAM
 
집단지성 프로그래밍 07-고급 분류 기법-커널 기법과 svm-01
집단지성 프로그래밍 07-고급 분류 기법-커널 기법과 svm-01집단지성 프로그래밍 07-고급 분류 기법-커널 기법과 svm-01
집단지성 프로그래밍 07-고급 분류 기법-커널 기법과 svm-01Kwang Woo NAM
 
5.model evaluation and improvement(epoch#2) 2
5.model evaluation and improvement(epoch#2) 25.model evaluation and improvement(epoch#2) 2
5.model evaluation and improvement(epoch#2) 2Haesun Park
 
Coursera Machine Learning (by Andrew Ng)_강의정리
Coursera Machine Learning (by Andrew Ng)_강의정리Coursera Machine Learning (by Andrew Ng)_강의정리
Coursera Machine Learning (by Andrew Ng)_강의정리SANG WON PARK
 
캐빈머피 머신러닝 Kevin Murphy Machine Learning Statistic
캐빈머피 머신러닝 Kevin Murphy Machine Learning Statistic캐빈머피 머신러닝 Kevin Murphy Machine Learning Statistic
캐빈머피 머신러닝 Kevin Murphy Machine Learning Statistic용진 조
 
지도 학습, 함수 근사와 최적화 문제: 데이터는 우악하니 데이터 사이언스라도 우아하게
지도 학습, 함수 근사와 최적화 문제: 데이터는 우악하니 데이터 사이언스라도 우아하게지도 학습, 함수 근사와 최적화 문제: 데이터는 우악하니 데이터 사이언스라도 우아하게
지도 학습, 함수 근사와 최적화 문제: 데이터는 우악하니 데이터 사이언스라도 우아하게Young-Geun Choi
 
4.representing data and engineering features
4.representing data and engineering features4.representing data and engineering features
4.representing data and engineering featuresHaesun Park
 

What's hot (20)

5.model evaluation and improvement(epoch#2) 1
5.model evaluation and improvement(epoch#2) 15.model evaluation and improvement(epoch#2) 1
5.model evaluation and improvement(epoch#2) 1
 
2.supervised learning(epoch#2)-3
2.supervised learning(epoch#2)-32.supervised learning(epoch#2)-3
2.supervised learning(epoch#2)-3
 
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 1장. 한눈에 보는 머신러닝
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 1장. 한눈에 보는 머신러닝[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 1장. 한눈에 보는 머신러닝
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 1장. 한눈에 보는 머신러닝
 
ESM Mid term Review
ESM Mid term ReviewESM Mid term Review
ESM Mid term Review
 
파이썬(Python) 으로 나만의 딥러닝 API 만들기 강좌 (Feat. AutoAI )
파이썬(Python) 으로 나만의 딥러닝 API 만들기 강좌 (Feat. AutoAI ) 파이썬(Python) 으로 나만의 딥러닝 API 만들기 강좌 (Feat. AutoAI )
파이썬(Python) 으로 나만의 딥러닝 API 만들기 강좌 (Feat. AutoAI )
 
2.supervised learning(epoch#2)-2
2.supervised learning(epoch#2)-22.supervised learning(epoch#2)-2
2.supervised learning(epoch#2)-2
 
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 2장. 머신러닝 프로젝트 처음부터 끝까지
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 2장. 머신러닝 프로젝트 처음부터 끝까지[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 2장. 머신러닝 프로젝트 처음부터 끝까지
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 2장. 머신러닝 프로젝트 처음부터 끝까지
 
머신 러닝 입문 #1-머신러닝 소개와 kNN 소개
머신 러닝 입문 #1-머신러닝 소개와 kNN 소개머신 러닝 입문 #1-머신러닝 소개와 kNN 소개
머신 러닝 입문 #1-머신러닝 소개와 kNN 소개
 
R을 이용한 데이터 분석
R을 이용한 데이터 분석R을 이용한 데이터 분석
R을 이용한 데이터 분석
 
HR Analytics - 퇴직가능성예측모델
HR Analytics - 퇴직가능성예측모델HR Analytics - 퇴직가능성예측모델
HR Analytics - 퇴직가능성예측모델
 
3.unsupervised learing(epoch#2)
3.unsupervised learing(epoch#2)3.unsupervised learing(epoch#2)
3.unsupervised learing(epoch#2)
 
Naive ML Overview
Naive ML OverviewNaive ML Overview
Naive ML Overview
 
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 3장. 분류
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 3장. 분류[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 3장. 분류
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 3장. 분류
 
집단지성 프로그래밍 06-의사결정트리-01
집단지성 프로그래밍 06-의사결정트리-01집단지성 프로그래밍 06-의사결정트리-01
집단지성 프로그래밍 06-의사결정트리-01
 
집단지성 프로그래밍 07-고급 분류 기법-커널 기법과 svm-01
집단지성 프로그래밍 07-고급 분류 기법-커널 기법과 svm-01집단지성 프로그래밍 07-고급 분류 기법-커널 기법과 svm-01
집단지성 프로그래밍 07-고급 분류 기법-커널 기법과 svm-01
 
5.model evaluation and improvement(epoch#2) 2
5.model evaluation and improvement(epoch#2) 25.model evaluation and improvement(epoch#2) 2
5.model evaluation and improvement(epoch#2) 2
 
Coursera Machine Learning (by Andrew Ng)_강의정리
Coursera Machine Learning (by Andrew Ng)_강의정리Coursera Machine Learning (by Andrew Ng)_강의정리
Coursera Machine Learning (by Andrew Ng)_강의정리
 
캐빈머피 머신러닝 Kevin Murphy Machine Learning Statistic
캐빈머피 머신러닝 Kevin Murphy Machine Learning Statistic캐빈머피 머신러닝 Kevin Murphy Machine Learning Statistic
캐빈머피 머신러닝 Kevin Murphy Machine Learning Statistic
 
지도 학습, 함수 근사와 최적화 문제: 데이터는 우악하니 데이터 사이언스라도 우아하게
지도 학습, 함수 근사와 최적화 문제: 데이터는 우악하니 데이터 사이언스라도 우아하게지도 학습, 함수 근사와 최적화 문제: 데이터는 우악하니 데이터 사이언스라도 우아하게
지도 학습, 함수 근사와 최적화 문제: 데이터는 우악하니 데이터 사이언스라도 우아하게
 
4.representing data and engineering features
4.representing data and engineering features4.representing data and engineering features
4.representing data and engineering features
 

Similar to Machine learning bysogood

Introduction to SAC(Soft Actor-Critic)
Introduction to SAC(Soft Actor-Critic)Introduction to SAC(Soft Actor-Critic)
Introduction to SAC(Soft Actor-Critic)Suhyun Cho
 
인공지능 맛보기
인공지능 맛보기인공지능 맛보기
인공지능 맛보기Park JoongSoo
 
Chapter 8 - optimization for training deep models
Chapter 8 - optimization for training deep modelsChapter 8 - optimization for training deep models
Chapter 8 - optimization for training deep modelsKyeongUkJang
 
해커에게 전해들은 머신러닝 #2
해커에게 전해들은 머신러닝 #2해커에게 전해들은 머신러닝 #2
해커에게 전해들은 머신러닝 #2Haesun Park
 
Ml for 정형데이터
Ml for 정형데이터Ml for 정형데이터
Ml for 정형데이터JEEHYUN PAIK
 
00_ML 기초_기본개념
00_ML 기초_기본개념00_ML 기초_기본개념
00_ML 기초_기본개념AHRA CHO
 
한눈에 보는 머신러닝
한눈에 보는 머신러닝한눈에 보는 머신러닝
한눈에 보는 머신러닝주경 이
 
코드와 실습으로 이해하는 인공지능
코드와 실습으로 이해하는 인공지능코드와 실습으로 이해하는 인공지능
코드와 실습으로 이해하는 인공지능도형 임
 
기계학습 Overview
기계학습  Overview기계학습  Overview
기계학습 Overviewjaeho kang
 
Ai 그까이거
Ai 그까이거Ai 그까이거
Ai 그까이거도형 임
 
[D2대학생세미나]lovely algrorithm
[D2대학생세미나]lovely algrorithm[D2대학생세미나]lovely algrorithm
[D2대학생세미나]lovely algrorithmNAVER D2
 
Chapter 11 Practical Methodology
Chapter 11 Practical MethodologyChapter 11 Practical Methodology
Chapter 11 Practical MethodologyKyeongUkJang
 
Control as Inference.pptx
Control as Inference.pptxControl as Inference.pptx
Control as Inference.pptxssuserbd1647
 
Machine learning linearregression
Machine learning linearregressionMachine learning linearregression
Machine learning linearregressionHaYoungChoi17
 
머신 러닝을 해보자 1장 (2022년 스터디)
머신 러닝을 해보자 1장 (2022년 스터디)머신 러닝을 해보자 1장 (2022년 스터디)
머신 러닝을 해보자 1장 (2022년 스터디)ssusercdf17c
 
[밑러닝] Chap06 학습관련기술들
[밑러닝] Chap06 학습관련기술들[밑러닝] Chap06 학습관련기술들
[밑러닝] Chap06 학습관련기술들종현 최
 
Guided policy search
Guided policy searchGuided policy search
Guided policy searchJaehyeon Park
 
인공신경망
인공신경망인공신경망
인공신경망종열 현
 

Similar to Machine learning bysogood (20)

Introduction to SAC(Soft Actor-Critic)
Introduction to SAC(Soft Actor-Critic)Introduction to SAC(Soft Actor-Critic)
Introduction to SAC(Soft Actor-Critic)
 
Ml
MlMl
Ml
 
인공지능 맛보기
인공지능 맛보기인공지능 맛보기
인공지능 맛보기
 
Chapter 8 - optimization for training deep models
Chapter 8 - optimization for training deep modelsChapter 8 - optimization for training deep models
Chapter 8 - optimization for training deep models
 
해커에게 전해들은 머신러닝 #2
해커에게 전해들은 머신러닝 #2해커에게 전해들은 머신러닝 #2
해커에게 전해들은 머신러닝 #2
 
분석6기 4조
분석6기 4조분석6기 4조
분석6기 4조
 
Ml for 정형데이터
Ml for 정형데이터Ml for 정형데이터
Ml for 정형데이터
 
00_ML 기초_기본개념
00_ML 기초_기본개념00_ML 기초_기본개념
00_ML 기초_기본개념
 
한눈에 보는 머신러닝
한눈에 보는 머신러닝한눈에 보는 머신러닝
한눈에 보는 머신러닝
 
코드와 실습으로 이해하는 인공지능
코드와 실습으로 이해하는 인공지능코드와 실습으로 이해하는 인공지능
코드와 실습으로 이해하는 인공지능
 
기계학습 Overview
기계학습  Overview기계학습  Overview
기계학습 Overview
 
Ai 그까이거
Ai 그까이거Ai 그까이거
Ai 그까이거
 
[D2대학생세미나]lovely algrorithm
[D2대학생세미나]lovely algrorithm[D2대학생세미나]lovely algrorithm
[D2대학생세미나]lovely algrorithm
 
Chapter 11 Practical Methodology
Chapter 11 Practical MethodologyChapter 11 Practical Methodology
Chapter 11 Practical Methodology
 
Control as Inference.pptx
Control as Inference.pptxControl as Inference.pptx
Control as Inference.pptx
 
Machine learning linearregression
Machine learning linearregressionMachine learning linearregression
Machine learning linearregression
 
머신 러닝을 해보자 1장 (2022년 스터디)
머신 러닝을 해보자 1장 (2022년 스터디)머신 러닝을 해보자 1장 (2022년 스터디)
머신 러닝을 해보자 1장 (2022년 스터디)
 
[밑러닝] Chap06 학습관련기술들
[밑러닝] Chap06 학습관련기술들[밑러닝] Chap06 학습관련기술들
[밑러닝] Chap06 학습관련기술들
 
Guided policy search
Guided policy searchGuided policy search
Guided policy search
 
인공신경망
인공신경망인공신경망
인공신경망
 

Machine learning bysogood

  • 1. Garage.12 Data Science & Life Style SOO5028@NATE.COM S.Good Kim Data Science & Life Style Machine Learning 2017.09.09
  • 2. Garage.12 Data Science & Life Style 목차 1. Data 이해 2. Machine Learning 이해 3. Work Flow 4. Machine Learning_오차수정법 4-1. 최소제곱법 4.2. 최대사후확률추정 4.3. 경사하강법 5. Machine Learning_지도학습 5-1. 회귀기반 + 선형회귀 (linear Regression) + Naïve Bayes Classifier + 정규화 (Regularization) 5-2. 머신러닝 기반 + 앙상블 (Ensemble) : Bagging / Boosting / Random Forest + 의사결정나무 (Decision Tree) + SVM + KNN + 로지스틱 회귀 (Logistic Regression) 6. Machine Learning_비지도학습 6-1. Clustering + K-means + 계층적 군집 (Hierarchical Clustering) 6-2. 차원축소 + 주성분 분석 (PCA) + T-SNE 7. Machine Learning_성능평가 7-1. Cross Valiation 7-2. 정밀도 / 재현율 / 정확도 / F-1 score 7-3. ROC & AUC 8. Appendix 8-1. Algorithm 이해1 8-2. Algorithm 이해2 8-3. Algorithm 이해3 목차
  • 3. Garage.12 Data Science & Life Style Data의 이해 Types of Data + Text Data + Network Data + Time Series Data + Image Data Samples + Document Classification + Stock Market Prediction + Plate Num Recognition + SNS Recommendation + Helicopter Control Data의 이해 데이터 라이브러리 + Pandas : 데이터 간단 연산 수행 + scikit-learn : 각종 머신러닝 모델 + xgboost : 나무기반 예측 모델 + metplotlib : 데이터 시각화 + tqdm : 실시간 모니터링 데이터 수집 데이터 처리/관리 데이터 분석 결과활용 + 내부 데이터 + 외부 데이터 + 데이터 전처리 + 분산 파일 시스템 활용 + 병렬 프로세싱 + 스크립트 엔진 + 통계 분석 + 키워드 분석 + NLP(자연어처리) + 머신러닝 + 데이터 시각화 + 통계차트 + 통계 분석 + 추천/예측 서비스 + 외부 API 제공 Back End Front End Crawler, ETL, Parsing, Sqoop/Flume HDFS, Zookeeper, Hbase/Cassandra Spark, Hadoop, Python, R, SQL, MongoDB, Pig Data Visualization, Graph, APIs
  • 4. Garage.12 Data Science & Life Style Machine Learning의 이해 머신 러닝 Learning = 표현 + 평가 + 최적화 표현 (Representation) 입력값을 처리해서 어떻게 결과값 을 만들지 결정하는 논리 모델 최적화 (Optimization) 평가에서 설정한 기준을 만족하는 최적의 조건을 찾는 것 평가 (Evaluation) Task를 얼마나 잘 수행했 는지 판단 방법 or 기준 KNN, SVM, Decision Tree 등 문제해결 알고리즘이 표현에 해당 경사하강법(Gradient Descent) 등의 방법으로 최적 조건 찾음 최소제곱법과 같은 알고리즘으로 평가 *데이터 마이닝 : 가지고 있는 데이터에서 일정한 패턴이나 특성을 찾기 위함 (ex. 연관성분석(Association Analysis)) 머신러닝은 기존 데이터로 모델을 학습시킨 후 새로운 데이터를 입력했을때 예측값을 알기위함
  • 5. Garage.12 Data Science & Life Style 머신러닝은 주어진 데이터를 바탕으로 새로운 질문에 대해 예측하는 것이 최종 목적이며 이러한 머신러닝을 학습방법에 따라 구분 만약 사람이 어떤 데이터를 토대로 결과를 예측했는데 틀렸다면 무엇이 틀렸는지 확인하고 결과가 올바르게 나타나는 방향으로 수정 머신 러닝을 예측의 틀린 정도를 오차(Error)로 생각 하고 올바른 결과가 나오도록 방정식을 수정함 Machine Learning의 이해 지도학습 (Supervised Learning) + 컴퓨터에 학습을 시킬 때 사람이 개입하여 정답을 달아주는 방식으로 학습을 진행 비지도학습 (Unsupervised Learning) + 사람의 개입없이 컴퓨터 스스로 라벨링 되어 있지 않은 데이터에 대해 학습을 하는 방식 + 이 세상에 존재하는 대부분의 데이터는 라벨이 붙어 있지 않음, 따라서 비지도학습은 머신러닝이 나아갈 방향 강화학습 (Reinforcement Learning) + 강화학습은 기계 혹은 컴퓨터로 하여금 현태 상태에서 어떤 행동을 취하는 것이 최적의 것인가를 학습 + 하나의 행동을 취할때마다 외부에서 보상(reward)이 주어지며 이 보상이 최대화하는 방향으로 학습 진행 Types of Machine Learning 머신 러닝
  • 6. Garage.12 Data Science & Life Style Machine Learning_Workflow Raw Data Train Data Processed Data Raw Data Trained Model Evaluation Prediction EDA & Preprocessing Model Selection Model Evaluation + Data Cleaning - Deduplication - Outlier Detection - Other Cleaning Techniques + Feature Extraction + Feature Scaling + Dummification + Dimensionality Reduction + Model Specification + Feature Selection + Cross Validation + Hyperparameters + Evaluation Metrics 1) EDA (Exploratory Data Analysis) : 탐색적 자료 분석 시각화와 기술 통계를 통해 데이터를 이해 2) Preprocessing : 전처리 데이터를 정제하고 가공해서 머신러닝 모델의 입력에 적합한 형태로 변형 Types of 전처리 : 3) Model Selection : 모델 선택 적절한 머신러닝 모델을 선택 What? How? : 4) Model Evaluation & Prediction : 평가 및 예측 만들어진 머신러닝 모델의 성능을 평가하고 모델을 활용하여 새로운 데이터에 대한 예측 How? 만들어진 모델이 얼마나 새로운 데이터에 대해 얼마나 일반화 (generalization) 가능한지 측정 평가용 데이터셋은 모델 선택과 학습 과정에서 쓰이지 않아야 함 평가용 데이터셋은 학습용 데이터셋과 동일한 전처리 과정을 거쳐야 함 머신 러닝
  • 7. Garage.12 Data Science & Life Style Machine Learning_오차 수정법 오차를 수정하는 방식에는…! + 최소제곱법 (method of least squares) + 최우추정법 (maximum likelihood method ) + 최대사후확률추정 (maximum a posterior estimation ) + 경사 하강법 (gradient descent ) + 역전파 (backpropagation ) 등등 오차 수정
  • 8. Garage.12 Data Science & Life Style 오차 수정법_최소제곱법 (method of least squares) 실제 답과 결과 값의 오차의 제곱의 합이 최소가 되는 해를 구하는 방법 머신러닝에서 배우는 가장 단순한 모델로 입력과 출력의 관계가 선형이라고 가정 알고 싶은 값 예측 방정식 예측과 알고 싶은 값의 차이(유클리드 거리)의 제곱 오차의 제곱 합의 값을 최소값으로 구하기 위해… 최적화 해야하는 변수에 대해서 각각 편미분한 값이 0 이되도록 하는 점을 찾는 것 왼쪽 그래프와 같이 데이터들이 있을 때 오차의 제곱이 제일 작은(값들을 깔끔하게 통과하는) 함수를 얻을 수 있는 것 * 데이터가 많아지면 계산량이 매우 많이 증가한다는 단점이 있음, 이때 오차 제곱의 합을 Cost Function이라고 함 오차 수정
  • 9. Garage.12 Data Science & Life Style 오차 수정법_최대사후확률추정 (MAP) Parameter에 확률 분포를 주어서 베이즈 정리를 이용해 결과를 최대로 하는 값을 찾는 것 Ex) 10번의 동전을 던졌는데 8번 앞면만 나왔다고 했을 때…!P(A|B) B 사건이 일어났을 때 A가 일어날 확률을 조건부 확률이라 함 P(A|B) = P(B|A)*P(A)/P(B) 이를 베이즈 정리에 따르면… 결론 : A > B 확률을 통해서 B > A 확률을 추측할 수 있는 것 A : 동전던지기의 확률(0.5) B : 결과의 확률(0.8) P(A|B) — 결과가 나왔을 때 동전던지기의 확률 P(A|B) = P(B|A)*P(A)/P(B) = 동전던지기로 10번 던졌을 때 8번 나올 확률 * 동전던지기의 확률 / 결과 값의 확률 = (10C8*(1/2)¹⁰* 1/2) / (0.8) 오차 수정
  • 10. Garage.12 Data Science & Life Style 오차 수정법_경사하강법 (Gradient Descent) 함수의 기울기를 구하여 기울기가 낮은 쪽으로 계속 이동시켜서 극값에 이를 때까지 반복 2차 방정식을 미분하여 그 경사를 따라서 움직이고 이를 반복하면 최소값으로 수렴 이 그래프를 오차의 그래프라고 하면 비용함수(Cost Function) 일 것이고 이를 최소화 하는 방법이 Gradient Descent 함수가 Quadratic function이 아니라면 미분해서 한번에 에러가 최소가 되는 지점을 계산하는 것은 매우 어려움 오차가 줄어드는 방향으로 기울기 하강을 선택 이렇게 하강한다면 언젠가는 최소값으로 도달할 것 오차 수정 *비용함수(cost function) : 가설함수의 각항의 개수가 되는 최적의 𝜃를 구하는 식, 오차 제곱의 합을 Cost Function
  • 11. Garage.12 Data Science & Life Style 오차 수정법_경사하강법 (Gradient Descent)_Local & Global Minima 오차 수정 경사하강법 (Gradient Descent)에서 제대로 된 최저점을 Global Minima라고 하며 잘못된 최저점을 Local Minima라 함 잘못된 최저점 Local Minima 제대로 된 최저점 Global Minima 1. 2.
  • 12. Garage.12 Data Science & Life Style Machine Learning_지도학습 (Supervised Learning) Cases, such as + Spam Filtering + Automatic Grading + Automatic Categorization Classification or Regression of + 공부 시간으로 시험점수 맞추기 + 집값 맞추기 정답이 있는 문제, Labeled data(x, y) Types of 지도학습 + 분류 (Classification) - Discrete (categorical) valued output 예측하기 - 예/아니오 문제일 때 : binary classification - 다지선다형 문제일 때 : multi-class classification + 회귀 (Regression) - Continuous valued output 예측하기 지도 학습
  • 13. Garage.12 Data Science & Life Style 지도 학습 지도학습의 2가지 주요 카테고리 1) 회귀기반 머신러닝 + ’얼마나 많은가?’와 같은 양적인 문제를 해결하는데 도움이 되는 알고리즘 + 일반적으로 출력은 연속된 값 + 종류 : 선형회귀, 다변량회귀, 나이브 베이즈 분류기 (Naïve Bayes Classifier), Ridge, Lasso 2) 머신러닝 기반 분류 + 객관식 문제 예측의 해결을 돕는 학습 알고리즘 + 새로운 데이터와 형성된 모델로 부터 보지못한 데이터 분류 + 종류 : 의사결정나무, Bagging, Boosting, Random Forest, 서포트 백터 머신 (SVM), 로지스틱회귀, KNN *회귀와 분류 문제에 모두 사용가능한 알고리즘 è GBM, SVM, Tree-Based Model, Random Forest Machine Learning_지도학습 (Supervised Learning)
  • 14. Garage.12 Data Science & Life Style 회귀기반_선형회귀 (Linear Regression) 설명변수(explanatory variable)와 목적변수(target variable) 사이에 선형 관계 지도 학습 훈련데이터 세트 (X, Y) 학습 알고리즘 가설 입력 데이터 (X) 예측값 데이터 (Y) Concept *ex : (X, Y) = 메일 내용, 스팸 여부 주어진 데이터가 어떤 함수로 부터 생성됐는가를 알아보는 ”함수관계”를 추측하는것
  • 15. Garage.12 Data Science & Life Style 지도 학습회귀기반_선형회귀 (Linear Regression) x1, x2 두가지 변수를 갖는 다중 회귀 분석 위와 같은 데이터가 주어졌을 때 (y = x1 + x2 그래프에 오차가 추가된 데이터) y = w1 * x1 + w2 * x2 + b(초기값 — w1, w2 : -1~1 랜덤, b = 0) 라고 정의하고 학습을 해보면 아래와 같은 결과를 얻을 수 있음 + 변수가 2개 이기 때문에 결과는 평면으로 나타내고 학습을 진행할수록 오차가 작아지는 평면을 결과로 얻음 + 다중 회귀 분석을 통해서 데이터가 존재하면 그 데이터를 표현하는 함수를 학습할 수 있음 + 이를 이용하여 과거의 데이터를 통해서 미래의 데이터 예측
  • 16. Garage.12 Data Science & Life Style 회귀기반_Naive Bayes Classifier 지도 학습 텍스트 분류(스팸)에 사용 될 수 있는 분류 방법중 하나이며 Bayes’ rule (베이즈 룰) 의 적용을 기본으로 하는 알고리즘 이 알고리즘은 입력 열과 예측 가능한 열 간의 관계를 검색하는 마이닝 모델을 신속하게 생성하는데 유용 초기 데이터 탐색을 수행한 후 나중에 그 결과를 적용하여 보다 복잡하고 정확한 다른 알고리즘으로 추가 마이닝 모델을 만듦 대표사례는 스팸 메일 필터에 사용, 이전에 스팸으로 처리한 문서를 기반으로 앞으로 들어오는 문서가 스팸인지 아닌지 판단 알고리즘앞에 Naïve가 의미하는 것은 예전 스팸 문서에 a, b, c라는 단어가 있다고 가정 할 때 b가 나타날 확률은 a 나 c와 무관하다고 가정 하는 것 Ex) 최근 수신한 메일에 Test가 포함 되었을 경우 스팸일 확율은? A : Spam B : Test Bayesian 알고리즘 è P(AlB) = P(BlA)*P(A)/P(B) 가정 P(A|B) : 사건 B가 발생한 상태에서 사건 A가 발생할 조건부 확률 P(B|A) : 사건 A가 발생한 상태에서 사건 B가 발생할 조건부 확률 P(A) : 사건 A가 발생할 확률, B에 대한 어떠한 정보도 없는 상태에서 A가 발생활 확률 P(B) : 사건 B가 발생할 확률, A에 대한 어떠한 정보도 없는 상태에서 B가 발생할 확률 = P(BlA)P(A) / P(B) P(AlB) = P(A ∩ B) / P(B) Spam Test Naïve Bayes Classifier은…?
  • 17. Garage.12 Data Science & Life Style 지도 학습회귀기반_정규화(Regularization) 기계학습 알고리즘은 종종 과적합(overfitting) 문제가 발생하여 정규화(regularization)를 통해 문제를 해결 Ex) Linear regression (housing price) 𝜃$ + 𝜃%x underfit price size price size price size 𝜃$ + 𝜃%x + 𝜃'x' 𝜃$ + 𝜃%x + 𝜃'x' + 𝜃(x( + 𝜃)x) Just right overfit Overfit 해결 방법 + 주요 특징을 직접 선택 + Model selection 알고리즘 활용 + Regularization : 모든 특징을 사용하나 특징 𝜃*에 대한 parameter를 줄임 + Ridge 회귀모형 + Lasso 회귀모형 + Elastic Net 회귀모형 Ridge Lasso Elastic Net 가중치들의 제곱합을 최소화하는 것을 추가적인 제약 조건으로 함 가중치의 절대값의 합을 최소화하는 것 을 추가적인 제약 조건으로 함 가중치의 절대값의 합과 제곱합을 동시 에 제약 조건으로 함 λ는 기존의 잔차 제곱합과 추가적 제약 조건의 비중을 조절하기 위한 하이퍼 모수(hyper parameter), λ가 크면 정 규화 정도가 커지고 가중치의 값들이 작아짐. λ가 작아지면 정규화 정도가 작아지며 λ 가 0이 되면 일반적인 선형 회귀 모형이 됨 λ1, λ2 두 개의 하이퍼 모수를 가짐 *Ridge vs Lasso Ridge은 가중치 계수를 한꺼번에 축소시키는데 반해 Lasso는 일부 가중치가 먼저 0으로 수렴하는 특성이 있음 모형이 과도하게 최적화되면 모형 계수의 크기도 과도하게 증가함, 따라서 정규화 방법에서 추가하는 제약 조건은 일반적으로 계수의 크기를 제한하는 방법으로…! 3가지 방법이 사용 :
  • 18. Garage.12 Data Science & Life Style 머신러닝기반_의사결정나무 (Decision Tree) Decision Tree 목적…? 1) 세분화 (Segmentation) + 데이터를 비슷한 특성을 갖는 몇개의 그룹으로 분할해 그룹별 특성을 발견하는 경우 + 각 고객이 어떤 집단에 속하는지를 파악하고자 하는 경우 Ex) 시장세분화, 고객세분화 2) 분류 (Classification) + 관측개체를 여러 예측 변수들에 근거해 목표변수의 범주를 몇개의 등급을 로 분류하고자 하는 경우 Ex) 고객을 신용도에 따라 우량/불량으로 분류 3) 예측 (Prediction) + 자료에서 규칙을 찾아내고 이를 이용해 미래의 사건을 예측하고자 하는 경우 Ex) 고객속성에 따라서 대출한도액을 예측 4) 차원축소 및 변수선택 (Data reduction and variable screening) + 매우 많은 수의 예측변수 중에서 목표변수에 큰 영향을 미치는 변수들을 골라내고자 하는 경우 5) 교호작용효과의 파악 (Interaction effect identification) + 여러 개의 예측변수들을 결합해 목표변수에 작용하는 규칙을 파악하고자 하는 경우 6) 범주의 병합 또는 연속형 변수의 이산화 (Binning) + 범주형 목표변수의 범주를 소수의 몇 개로 병합하거나 연속형 목표변수를 몇 개의 등급으로 이산화 하고자하는 경우 남자인가? 지도 학습 (나이>9.5) 인가? (sibsp>2.5) 인가? 생 존 사 망 사 망 생 존 0.73, 36% 0.17, 61% 0.05, 2% 0.89, 2% 예 아니오 *’sibsp’는 탑승한 배우자와 자녀의 수를 의미 *관측값 (성별, 나이, 배우자와 자녀의 수) *목표값 (생존여부) Ex) 타이타닉 호 탑승자의 성별, 나이, 배우자와 자녀 의 수를 이용해서 생존확률을 구분해 나가는 것 어떤 항목에 대한 관측값과 목표값을 연결시켜주며 특정 항목에 대 한 의사 결정 규칙(Decision rule)을 나무 형태로 분류해 나가는 분석 기법
  • 19. Garage.12 Data Science & Life Style 머신러닝기반_앙상블 (Ensemble) 여러가지 동일한 종류의 혹은 서로 상이한 모형들의 의사 결정들을 결합하여 최종적인 의사결정에 활용하는 방법론 단일 모형으로 분석했을 때 보다 정확한 예측 수행 가능 Ex. 두 집단을 분류하는 분류기가 5개 있고, 각각의 오분류율이 5%라고 가정할 때, 만약 해당 모형들이 모두 동일한 결정을 내린다고 한다면 모형의 오분류율은 5%가 됨 하지만, 각각의 분류기가 상호독립적이어서 전체 분류기의 절반 이상이 오분류를 하는 경우에 앙상블 모형의 오분류율은 0.01%로 떨어지게 됨 앙상블의 조건…? + 각각의 분류기는 상호 독립적이어야 함 + 각 분류기의 오분류율은 적어도 50%보다는 낮아야 함 앙상블 모형의 종류…? 1) 데이터를 조정하는 방법 (Bagging, Boosting) + 적절한 표본추출 방법을 활용하여 여러 개의 훈련용 데이터 집합을 생성 + 각각의 데이터 집합을 활용하여 여러 개의 분류기를 생성하여 앙상블을 진행 2) 변수의 개수를 조절하는 방법 (Random Forest) + 전체 변수집합에서 부분 변수집합을 선택하여 훈련용 데이터 생성 + 각각의 데이터 집합에 대해 분류기를 생성한 후 앙상블을 진행 3) 집단명을 조절하는 방법 + 집단의 종류가 많은 경우 소수의 집단만으로 묶어서 분류 + 각 집단에 소속되는지에 대한 여부만 분류하는 분류기를 생성하여 앙상블 모형에 적용 4) 분류모형의 가정을 조절하는 방법 + 하나의 분류모형은 모수에 대한 가정 또는 알고리즘에 대한 가정에 따라 상이해짐 + 모수 및 가정을 변경하여 여러 개의 모형을 생성하여 앙상블을 진행 지도 학습
  • 20. Garage.12 Data Science & Life Style 머신러닝기반_Ensemble_배깅 (Bagging) 훈련용 데이터 집합으로부터 크기가 같은 표본을 여러 번 단순확률 반복 추출 하여 각각에 대한 분류기를 생성하고, 생성된 분류기들 의 결과를 종합하여 의사결정을 내리는 방법 Bagging이란…? Bootstrap Aggregating의 줄임말 + 훈련용 데이터에서 Bootstrap Sampling을 통해 N개의 부분 데이터셋(Sub dataset)을 생성 + 각각에 대해 학습 알고리즘(Learning Algorithm)을 적용하여 분류기(Classifier)를 생성 + 사전에 별도로 나눠놓았던 평가용 데이터(Testing Data)를 생성된 분류기를 활용하여 모형을 평가 지도 학습
  • 21. Garage.12 Data Science & Life Style Bagging의 경우 각각의 분류기들이 학습시에 서로 상호 영항을 주지 않고 그 결과를 종합하는 반면, Boosting은 이전 분류기의 학습 결과를 토대로 다음 분류기의 학습 데이터의 샘플 가중치를 조정하여 학습을 진행 Boosting이란…? + Bagging과 유사하게 초기 샘플 데이터를 조작하여 다수의 분류기를 생성하는 기법 중 하나 + Bagging과의 큰 차이는 순차적(Sequential) 방법 + 일반적으로 Boosting 알고리즘은 의사결정나무 모형을 주로 사용함 지도 학습머신러닝기반_Ensemble_부스팅 (Boosting)
  • 22. Garage.12 Data Science & Life Style 다수의 의사결정 나무를 결합하여 하나의 모형을 생성하는 방법 Random Forest란…? Tree들 간의 상관성을 제거하는 (decorrelate) 간단한 방법으로 tree bagging보다 우수한 성능을 제공 다양성을 극대화 하여 예측력이 상당히 우수한 편이고 Bagging과 동일하게 Bootstrap 표본을 이용한 다수의 트리의 예측 결과를 종합하여 의사결정을 진행하기 때문에 안정성도 상당히 높다는 장점 하지만 랜덤포레스트 역시 다수의 트리를 이용한 의사결정 기법을 이용하기 때문에 기존의 트리가 갖는 장점 중 하나인 설명력을 잃게 된다는 단점이 존재 Assessment…? 일반적으로 Random Forest Model에 대한 평가는 bagging 모형과 유사하게 OOB (out-of-bag) sample을 이용해 추정 Procedure Bagging과 마찬가지로 original sample에서 B개의 bootstrap sample을 추출하고, 사전에 설정한 모형 적합에 이용할 변수의 수 k만큼 random하게 변수를 선택해 첫 번째 sample의 첫 번째 분할에 적용 그 다음 두 번째 분할에서는 또 다시 p개의 변수중 k개의 변수를 선정해 가지 분할의 대상이 될 변수를 선택 이 과정을 하나의 tree가 끝까지 생성 될 때까지 반복 그리고 앞선 과정을 다시 모든 subtree에 대해 반복 지도 학습머신러닝기반_Ensemble_랜덤포레스트 (Random Forest)
  • 23. Garage.12 Data Science & Life Style 앙상블 모형의 차이 기존 앙상블의 경우 하나의 전체 데이터를 활용하여 서로 다른 학습 분류기를 통합하는 방법 Boosting의 경우 전체 데이터에서 여러 샘플링 데이터를 추 출하여 순차적으로 이전 학습 분류기의 결과를 토대로 다음 학습 데이터의 샘플 가중치를 조정하면서 학습을 진행 Bagging의 경우 전체 데이터에서 여러 샘플링 데이터를 추출하여 서로 다른 학습 분류기를 통합하는 방법 Out-of-Bag 샘플은 위의 흐름도에서 Bootstrap 샘플링 과정에서 추출 되지 않은 관측치들을 말하며, 이 샘플들은 주로 평가용 데이터에서의 오분류율을 예측하는 용도 및 변수 중요도를 추정하는 용도로 많이 이용 지도 학습머신러닝기반_Ensemble_모형들의 차이
  • 24. Garage.12 Data Science & Life Style 머신러닝기반_SVM(Support Vector Machines) 지도 학습 패턴인식, 자료분석을 위한 지도학습 모델 즉, 2개의 범주를 분류하는 이진 분류기 SVM이란…? 주로 분류와 회귀분석을 위해 사용, 주어진 데이터 집합을 바탕으로 새로운 데이터가 어느 카테고리에 속할 것인지 판단하는 비확률적 이진 선형 분류 모델 기본적인 원리는 왼쪽 사진을 봤을 때, 흰색 바둑알과 검은색 바둑알이 학습용 데이터로 주어졌다고 하자 두 그룹에서 각각의 데이터 간 거리를 측정하여 두 개의 데이터 사이의 중심을 구한 후에 그 가운데에서 최적의 초평면(Optimal Hyper Plane)을 구함으로써 흰색과 검은색 그룹을 나누는 방법을 학습하게 된다. 여기서 직선으로 나눌 수 있다면 선형 분류 모델을 적용하고, 직선으로 나눌 수 없는 경우 비선형 분류 모델을 사용 * 그룹을 분류하는 데이터를 기준으로 한 선 또는 면을 Hyper plane 이라고 하며, 이것을 maximum hyper plane(최대 초평면)이라 부른다. 이때 가장 가까운 벡터들을 support vector라 함
  • 25. Garage.12 Data Science & Life Style 지도 학습머신러닝기반_KNN(K-Nearest Neighbors) KNN이란…? 가장 간단한 분류 알고리즘 입력값과 K개의 가까운 점들이 있다고 생각하고 그 점들이 어떤 라벨과 가장 비슷한지를 판단하는 것 초록색 점을 k = 3이라는 기준으로 바라보면(진한 원) 빨간색 삼각형과 더 비슷하다고 할 수 있으므로 초록색 입력은 ‘빨간 삼각형이다’ 라고 분류할 수 있음 비모수 모델 (Non-parametric model) + 파라미터가 없음 + 데이터의 모양에 대한 가정을 하지 않음 + 장점 : 모양이 이상해도 잘 작동 + 단점 : 데이터가 많이 필요 * KNN은 데이터의 차원이 높아질수록 성능이 크게 떨어짐
  • 26. Garage.12 Data Science & Life Style 머신러닝기반_로지스틱 회귀 (Logistic Regression) 지도 학습 선형 회귀 분석과는 다르게 결과가 범주형일 때 사용 (ex . 학생이 문제를 맞을 것인지 틀릴 것인지, 내일 비가 올지 안올지, 과목의 학점이 A인지 B인지 C인지) y = w*x + b y를 확률에 관한 식으로 만들고 이항하여 로지스틱 함수를 얻어냄 로지스틱 함수의 모양은 아래와 같이 표현 (로지스틱 함수) 독립 변수의 선형 결합으로 종속 변수를 설명한다는 관점에서는 선형회귀 분석과 유사하 지만 로지스틱 회귀는 선형회귀 분석과 다르게 종속 변수가 범주형 데이터를 대상으로 하 며 입력 데이터가 주어졌을 때 해당 데이터의 결과가 특정 분류로 나눠지기 때문에 일종의 분류 기법 모델의 신뢰도 검증 + ROC Curve + AUC (the Area Under a ROC Curve) x축 : 틀린 것을 맞다고 할 확률 y축 : 맞은 것을 맞다고 할 확률
  • 27. Garage.12 Data Science & Life Style Types of 비지도학습 1) 군집 (Clustering) + 데이터 중에 가까운 것끼리 묶기 (ex. 마케터를 위한 고객 군집화) + 종류 : K-means, 계층적 (hierarchical) 군집화 2) 차원축소 (Dimensionality Reduction) + 고차원 공간을 저차원으로 축소 + Goal : 데이터 압축, Noise 제거, 시각화 + 종류 : 주성분 분석 (PCA), T-SNE 3) 생성 (Generation) - 가짜 데이터 만들기 (ex. 얼굴 생성) Machine Learning_비지도학습 (Unsupervised Learning) 정답이 없는 문제, Unlabled data(x) Goal : Discover structure of data Cases, such as + Discovering clusters + Discovering latent factors + Discovering graph structures Clustering or filtering or completing of + Finding the latent image from facial data + Competing the incomplete matrix of product + Filtering the noise from the trajectory data 비지도 학습
  • 28. Garage.12 Data Science & Life Style Clustering_K-means clustering 데이터 분류 종류를 K개 거리가 가장 가까운 기준끼리 군집 알려지지 않은 서브그룹들을 발견하기 위한 광범위한 분류의 방법 Clustering이란…? 예측을 하는 데 사용하기 보다는 데이터에서 의미를 파악하고 기준을 만드는데 사용하며 아무런 정보가 없는 상태에서 데이터를 분류하는 방법 (-1,-1), (9,9), (7,-3) 을 기준으로 정규분포를 따라 생성한 데이터 첫번째 학습 (빨간점 — 기준) 임의의 3개의 기준을 선택하고 주변 데이터들이 어떤 기준에 해당하는지 확인 두번째 학습 (빨간점 — 기준) 평균을 새로운 기준으로 갱신하여 가장 적절한 중 심점을 찾는것 비지도 학습 * 군집화는 이미지 데이터 처리에 많이 사용
  • 29. Garage.12 Data Science & Life Style Clustering_계층적 군집 (Hierarchical clustering) 계층적 군집이란…? 모든 관찰치는 자신만의 군집에서 시작하여 유사한 데이타 두 개를 하나의 군집으로 묶는데 이를 모든 데이타가 하나의 군집으로 묶일때까지 반복한다 + 모든 관찰치 군집으로 정의 + 모든 군집에 대하여 다른 모든 군집과의 거리를 계산 + 가장 작은 거리를 갖는 두 군집을 합해 하나의 군집으로 만든다. 따라서 군집의 갯수가 하나 감소 + 2와 3을 반복하여 모든 관찰치가 하나의 군집으로 합쳐질 때까지 반복 군집방법 두 군집 사이의 거리 정의 최단연결법 (single linkage clustering) 한 군집의 점과 다른 군집의 점 사이의 가장 짧은 거리(shortest distance)의 데이터를 묶어 군집 형성 (chaining은 유사하지 않은 관측치들의 중간 관측치들이 유사하기 때문에 하나의 군집으로 합침) 최장연결법 (complete linkage clustering) 한 군집의 점과 다른 군집의 점 사이의 가장 긴 거리(longest distance)의 데이터를 묶어 군집 형성 (거의 비슷한 직경을 갖는 compact cluster를 만드는 경향이 있으며 이상치에 민감) 평균연결법 (average linkage) 한 군집의 점과 다른 군집의 점 사이의 평균 거리의 데이터를 묶어 군집 형성 (chaining결향이 덜하고 이상치에도 덜 민감하다. 또한 분산이 적은 군집을 만듦) 센트로이드연결법 (centroid) 두 군집의 centroids(변수 평균의 벡터) 사이의 거리, 관측치가 하나인 경우 centroid는 변수의 값이 됨 (다른 방법들에 비해 이상치에 덜 민감하지만 average linkage나 Ward방법에 비해 수행능력이 떨어짐) 와드연결법 (Ward) 모든 변수들에 대하여 두 군집의 ANOVA sum of square를 더한 값, 군집 내 편차들의 제곱합을 고려한 방법이며 군집 간 정보의 손실 최소화 (적은 관찰치를 갖는 군집을 만드는 경향이 있으며 관찰치의 수와 거의 같은 군집을 만듦) 비지도 학습 * Chain : 긴 시가모양의 군집이 만들어지는 경향
  • 30. Garage.12 Data Science & Life Style 차원축소_주성분분석(PCA) 차원축소란…? 데이터의 의미를 제대로 표현하는 특징을 추려내는 것 대부분의 상황에서 차원의 크기는 특징(features)의 개수를 나타내고 특징(features)이 너무 많기 때문에 학습이 어렵고 더 좋은 특징만 가지고 사용하는것 PCA는 비선형의 데이터에서 적용하기 어려움 데이터의 분포를 가장 잘 표현하는 성분을 찾아주는 것 지도기법이 적용되기 전에 데이터를 시각화하거나 전처리하는데 사용 그래프에서 x, y 축보다 화살표방향의 두 축이 데이터를 더 잘 표현하는 것(주성분)을 알 수 있으며 주성분은 통계학적으로 데이터들의 분산이 가장 큰 방향 벡터를 의미함 *분산 - 데이터가 평균에서 얼마나 떨어져 있는가를 의미 비지도 학습
  • 31. Garage.12 Data Science & Life Style 차원축소_T-SNE 비지도 학습 T-SNE란…? PCA는 선형(Linear) 관계밖에 찾아내지 못하여 복잡한 관계에서 활용하기 어려움 하지만 T-SNE (t-Distributed Stochastic Neighbor Embedding)의 경우 상대적으로 새롭고 더 효과적인 알고리즘 비선형 차원축소 기법으로 데이터를 시각화하여 패턴을 찾아내고 싶을때 주로 사용하며 결과값을 클러스터링이나 분류 모델에 넣어 활용 하는일…? + 데이터 포인트들 사이의 유사도를 통해 데이터의 패턴 찾기 + 고차원의 데이터를 저차원의 공간으로 매핑 + 클러스터링 알고리즘이 아니기에 클러스터가 나뉘지 않음 + T-SNE 결과를 클러스터링이나 분류 모델에 넣어 활용할 수 있음 *T-SNE는 word2vec으로 임베딩한 단어벡터를 시각화하는데 많이 쓰이고 문서 군집화를 수행한 뒤 이를 시각적으로 나타낼 때도 자주 사용 단점…? + Black Box : 알고리즘 작동 방식을 이해하기 어렵고 결과에서 인사이트를 뽑기 어려움 + Randomness : 돌릴때마다 결과가 조금씩 달라짐 + 시간이 오래 걸림 PCA T-SNE
  • 32. Garage.12 Data Science & Life Style 성능평가_교차검증(Cross Validation) 성능 평가 Cross Validation이란…? 예측 모형검증을 위해 Training에 사용되지 않은 Test data를 사용해야함 정상적으로 검사하기위해 Test data가 별도로 있어야 하기 때문에 Test data를 어떻게 골라내느냐에 따라 모형 성능이 달라짐, 이때 각기 다른 방법 으로 서로 다른 Test data를 여러 번 골라내서 복수 테스트를 실시하는것 👉 교차 검증을 통한 모형 성능은 보통 다음과 같은 두 가지 값으로 나타냄 + 오차 평균(mean performance): 트레이닝에 사용되지 않은 테스트 데이터(test data)에 대해서 평균 오차의 크기가 얼마나 작은가? + 오차 분산(variance): 트레이닝에 사용되지 않은 테스트 데이터(test data)에 대해 오차의 크기가 얼마나 달라지는가? 이 중에서 오차 분산을 계산하려면 테스트 데이터 셋이 최소한 세 개 세트가 있어야 함 K-fold CV K-fold CV(cross-validation) 방법은 데이터 셋을 K개의 sub-set로 분리하는 방법, 분리된 K개의 sub-set 중 하나만 제외한 K-1개의 sub-sets를 training set으로 이용하여 K개의 모형 추정
  • 33. Garage.12 Data Science & Life Style 성능평가_정밀도/재현율/정확도/F-1 Score 성능 평가 Binary Classifier (True or False)과 같은 결과를 통계적으로 분석할 때 사용 + 정밀도 (Precision) 예측한 것중 정답의 비율은? + 재현율 (Recall) 찾아야 할 것중에 실제로 찾은 비율은? + 정확도 (Accuracy) 예측이 정답과 얼마나 정확한가? + F1 Score 정밀도와 재현율의 평균 실험 결과 True False 실제 정답 True a b False c da / (a + c) a / (a + b) (a + d) / (a + b + c + d) 2 * (Precision * Recall) / (Precision + Recall)
  • 34. Garage.12 Data Science & Life Style 성능평가_ROC & AUC 성능 평가 Ø True Positive (= sensitivity, 민감도) : TP/P = TP/(TP+FN) 진짜 환자 중 검사 방법이 얼마나 환자를 잘 골라내는가? Ø True Negative (= Specificity, 특이도) : TN/N=TN(FP+TN)=1-FPR 진짜 정상인 중 검사가 정상인을 얼마나 잘 골라내는가? X축은 False positive rate (= 1 – True Negative) Y축은 True Positive rate + Roc(Receiver Operating Characteristic) Curve는 그래프가 왼쪽 꼭대기에 가깝게 그려질수록, 긍정은 다 맞추고 부정도 다 맞추는 위치가 되어 Classification 성능이 우수하다고 봄 + AUC (Area Under the Curve)는 Classifier의 합리성을 나타내는 지표로 ROC curve의 아래 면적을 의미함 + AUC의 최대값은 1이며, 1에 가까울수록 Sensitivity와 Specificity가 모두 높은것으로 좋은 Classification이라 할 수 있음 ROC (Receiver Operating Characteristic) Curve AUC (Area Under the Curve) CONDITION Positive Negative Test Outcome Positive True Positive False Positive (Type II Error) Negative False Negative (Type II Error) True Negative
  • 35. Garage.12 Data Science & Life Style Appendix_Algorithm의 이해1 알고리즘 이해
  • 36. Garage.12 Data Science & Life Style Appendix_Algorithm의 이해2 알고리즘 이해
  • 37. Garage.12 Data Science & Life Style Appendix_Algorithm의 이해3 알고리즘 이해