SlideShare a Scribd company logo
1 of 25
Jeonghun Yoon
혼성 모델
○ 여러 알고리즘을 결합하는 모델
○ 여러 알고리즘을 결합하면 가장 좋은 단일 알고리즘보다 결과가 좋다는 대다수의 의견
혼성 모델의 도입 배경
○ 특정 문제가 주어진 상황에서 그 문제를 가장 높은 성능으로 풀 수 있는 알고리즘에 대
한 필요성
○ 다른 모든 방법을 능가하는 보편적으로 우수한 알고리즘의 존재에 대한 의문
Resampling
○ 교차 검증
○ Bootstrap(붓스트랩)
Ensemble(앙상블)
○ Bagging
○ Random forest
○ Adaboost
1. No free lunch
2. bias-variance dilemma
알고리즘 성능에 대한 현상
모든 문제에 대해 다른 모든 알고리즘을 능가하는 알고리즘이 있나?
○ 없다.
○ 이론적으로 증명 ⇒ No free lunch(NFL) 정리
 어떤 특정 정책에 의해 얼핏 보면 이득을 얻는 것 같지만, 그것은 한 측면의 이
득일 뿐이고 반드시 이면에 다른 측면이 있고 그 측면에서 손해가 발생한다.
 No free lunch theorems for optimization. (David H. Wolpert)
 모든 알고리즘은 ①, ②, ③과 같다.
주어진 문제 : 필기 숫자 인식
부분 문제 : 아주 또렷한 필기 숫자 인식
①
②
③
문제
성능 ?
𝑓(𝕩)
𝑔(𝕩; 𝑋1)
𝑓(𝕩)
𝑔(𝕩; 𝑋1)
sample set : 𝑋1
𝑓(𝕩)
𝑔(𝕩; 𝑋2)
𝑓(𝕩)
𝑔(𝕩; 𝑋2)
sample set : 𝑋2
𝑓(𝕩)
𝑔(𝕩; 𝑋3)
𝑓(𝕩)
𝑔(𝕩; 𝑋3)
sample set : 𝑋3
bias = 추정치의 평균 - 참 값(추정하고 싶은 값)
bias? variance?
bias-variance-dilemma
○ 샘플집합 𝑋는 𝑓(𝕩)로부터 생성
○ 𝑋를 사용하여 근사치 𝑔(𝕩)를 추정 ⇒ 𝑔(𝕩; 𝑋)로 표현가능
○ 모델 𝑔(𝕩; 𝑋)가 𝑓(𝕩)에 얼마나 충실한 지를 나타내는 척도(MSE) :
𝐸 𝑋 𝑔 𝕩; 𝑋 − 𝑓 𝕩
2
= 𝐸 𝑋 𝑔 𝕩; 𝑋 − 𝑓 𝕩
2
+ 𝐸 𝑋 𝑔 𝕩; 𝑋 − 𝐸 𝑋 𝑔 𝕩; 𝑋
2
○ bias : 모델 𝑔(𝕩)와 참 함수 𝑓(𝕩)와의 차이
○ 분산 : 서로 다른 샘플 집합으로 추정한 𝑔(𝕩)간의 차이. 𝑔(𝕩)가 𝑋에 대하여 얼마나 민감
한지를 나타냄.
○ 모델을 선택할 때, 어떤 모델을 선택해도 MSE는 같다. 다만 오차의 내용이 다를 뿐이다.
○ 샘플 집합의 크기 𝑁이 커지면 분산의 값이 감소 ⇒ MSE 감소
𝑏𝑖𝑎𝑠2
분산
Go to Appendix
Resampling의 필요성
○ 실제 상황에서는 만족할 만큼 충분히 큰 sample 집합 확보의 어려움
 bias-variance dilemma를 통하여, 충분히 큰 sample의 수를 확보하는 것이 중요
하다는 것을 알 수 있음
 모델 선택은 별도의 검증 집합이 필요함(큰 sample의 필요성)
Resampling
○ 데이터의 양이 충분치 않을 때, 같은 샘플을 여러 번 사용하는 것.
○ 성능 측정의 통계적인 신뢰도를 높이려는 의도
교차 검증
○ Resampling을 이용하여, 분류기의 성능을 측정하는 방법 중 하나(no replacement)
입력 : 분류기 𝑐, 훈련 집합 𝑋 = { 𝕩1, 𝑡1 , 𝕩2, 𝑡2 , … , (𝕩 𝑁, 𝑡 𝑁)}, 𝑘(2 ≤ 𝑘 ≤ 𝑁)
출력 : 성능 𝑞
알고리즘 :
𝑋를 𝑘개의 부분 집합으로 등분하고 그들을 𝑋1, 𝑋2,…, 𝑋 𝑘라 한다.
for (𝑖 = 1 to 𝑘) {
𝑋′
= 𝑗=1,𝑖≠𝑗
𝑘
𝑋𝑗 로 𝑐를 학습
𝑋𝑖로 𝑐의 성능을 측정(𝑞𝑖)
}
return 𝑞 =
1
𝑘 𝑖=1
𝑘
𝑞𝑖
𝑋1 𝑋𝑖 𝑋 𝑘
𝑋 = 𝑖=1
𝑘
𝑋𝑖 , 𝑋𝑖s are mutually disjoint.
Bootstrap
○ statistical term for “roll n-face dice n times”
○ Resampling을 이용하여, 분류기의 성능을 측정하는 방법 중 하나(replacement)
○ sample이 두 번 이상 뽑히는 경우, 한 번도 안 뽑히는 경우 발생
입력 : 분류기 𝑐, 훈련 집합 𝑋 = { 𝕩1, 𝑡1 , 𝕩2, 𝑡2 , … , (𝕩 𝑁, 𝑡 𝑁)}, 반복횟수 𝑇
출력 : 성능 𝑞
알고리즘 :
for (𝑖 = 1 to 𝑇) {
𝑋에서 임의로 𝑁개의 샘플을 뽑아 𝑋𝑡라 한다. (replacement)
𝑋𝑡로 분류기 𝑐를 학습.
𝑋 − 𝑋𝑡로 𝑐의 성능을 측정하여 𝑞𝑡라 한다.
}
return 𝑞 =
1
𝑘 𝑖=1
𝑘
𝑞𝑖
𝑋 𝑋𝑡
𝑠선택
𝑠반납검증 셋
동기
○ 여럿의 의견을 종합할 때의 힘
 어느 도시에서는 소를 광장에 매어 놓고 참가자들에게 체중을 추정하여 적어 내
게 하고 실제 체중에 가장 가까운 사람에게 상품을 주는 대회가 있다고 한다. 수
백 명이 참가하는데 그들이 적어낸 숫자들을 평균해 보면 답과 아주 근사하다고
한다.
○ 사람들은 중요한 의사 결정을 할 때 여러 사람의 의견을 듣는 습성이 있다.
Ensemble
○ 혼성 모델 중에 가장 활발히 연구되는 주제
○ 모델의 합집합, 모음
(type 1)
 같은 문제에 대해 서로 다른 여러 알고리즘이 해를 구하고, 결합 알고리즘이 그
들을 결합하여 최종 해를 만드는 방식
 다중 분류기 방법(여러 개의 분류기를 만들고 그들의 출력을 결합)
(type 2)
 연산 공유(operation sharing) 방식. 즉 해를 구하는데 두 개 이상의 알고리즘이
개입.
다양성(diversity)
○ 앙상블에 참여한 분류기가 모두 같은 분류 결과를 출력한다면, 결합에 의해 얻는 이득
은 전혀 없다.
○ 어떤 분류기가 틀리는 샘플을 다른 분류기는 맞추는 그런 경향을 내포하는 다양성이
보장되어야 한다.
앙상블 생성 앙상블 선택 앙상블 결합
분류기 앙상블 시스템(Classifier Ensemble System)
앙상블 생성(분류기 앙상블 시스템)
○ resamplig을 통하여 생성된 샘플 집합들을 이용하여, 분류기들을 각각 훈련
 Bagging
 Boosting
○ 특징 벡터의 부분 공간을 이용하여, 샘플 부분 집합을 생성 후 분류기를 훈련
 Random forest
○ 앙상블을 구성하는 분류기 : 요소 분류기(component classifier), 기초 분류기(base)
𝑋
𝑋1
𝑋 𝑇
….
classifer 𝑐1 learning
classifer 𝑐 𝑇 learning앙상블 생성 idea(Bagging)
{𝑐1, … , 𝑐 𝑇}
resampling
Bagging
○ 붓스트랩을 다중 분류기 생성 기법으로 확장 : Boostrap aggregating
○ boostraped된 샘플 집합에서 훈련 후, 입력 값에 대하여, 분류기들의 평균값을 취함
○ bias↓ variance↑인 분류기에 사용 ⇒ variance↓ (How? average)
 트리 분류기와 같이 불안정성을 보이는 분류기에 큰 효과를 발휘
 훈련 집합이 달라지면 차이가 큰 트리가 생성 ⇒ 다양성 확보 but 분산↑
입력 : 훈련 집합 𝑋 = { 𝕩1, 𝑡1 , 𝕩2, 𝑡2 , … , (𝕩 𝑁, 𝑡 𝑁)}, 샘플링 비율 𝜌(0 < 𝜌 ≤ 1)
출력 : 분류기 앙상블(Classifier Ensemble)
알고리즘 :
𝑡 = 0, 𝐶 = ∅
repeat {
𝑡 = 𝑡 + 1
𝑋에서 임의로 𝜌𝑁개의 샘플을 뽑아 𝑋𝑡라 한다.(replacement)
𝑋𝑡로 분류기 𝑐𝑖를 학습한다.
𝐶 = 𝐶 ∪ {𝑐𝑖}
} until (멈춤 조건)
return 𝐶
𝒄𝒊는 서로 독립
Random forest
○ tree 모델에 bagging과 subspace sampling을 적용한 기법
○ tree간 correlation을 줄임(de-correlated trees' collection) - using randomness
○ 예측 시 : (Regression) collection의 tree에 sample이 입력되었을 때는 결과값들의 평균
을 구하여 모델들의 분산을 줄여줌 / (Classification) majority vote
입력 : 훈련 집합 𝑋 = { 𝕩1, 𝑡1 , 𝕩2, 𝑡2 , … , (𝕩 𝑁, 𝑡 𝑁)}, 샘플링 비율 𝜌(0 < 𝜌 ≤ 1)
출력 : 분류기 앙상블(Classifier Ensemble)
알고리즘 :
𝑡 = 0, 𝐶 = ∅
repeat {
𝑡 = 𝑡 + 1
𝑋에서 임의로 𝜌𝑁개의 샘플을 뽑아 𝑋𝑡라 한다.(replacement)
노드에서 split할 때, sample의 𝑝 feature 중 random하게 𝑚 feature를 선택한다.
선택된 feature들로 생성된 부분 공간 샘플을 후보로 하여 학습한다.
𝐶 = 𝐶 ∪ {𝑐𝑖}
} until (멈춤 조건)
return 𝐶
(𝑋𝑡에서 분류기를 학습)
𝒎 ≤ 𝒑
Boosting
○ weak learner을 (reweighted) training data 위에서 여러 번 학습 시킨 후, 학습 된
classifiers의 (weighted) majority vote를 이용
○ 분류기 앙상블 내, 𝑡번째 분류기 𝑐𝑡와 𝑡 + 1번째 분류기 𝑐𝑡+1이 연관성을 가지고 생성
① 𝑋의 샘플을 𝑐𝑡가 옳게 분류하는 것과 틀리게 분류하는 것으로 분류
② 옳게 분류하는 샘플은 이제 인식이 가능하므로 가중치를 낮춤
③ 틀리게 분류하는 샘플은 아직 "까다로운" 상태이므로 가중치를 높임
④ 𝑐𝑡+1를 학습 시키기 위한 sample 집합의 resampling 과정에서, 가중치가 높은
샘플이 뽑힐 확률이 높아지는 정책 사용
○ resampling 시, replacement를 허용하지 않음.
 한 번 뽑힌 샘플은 다시 사용하지 않음.
○ Adaboost 알고리즘
입력 : 훈련 집합 𝑋 = 𝕩1, 𝑡1 , 𝕩2, 𝑡2 , … , 𝕩 𝑁, 𝑡 𝑁
출력 : 분류기 앙상블(Classifier Ensemble) {𝑐1, … }, 분류기 신뢰도 {𝛼1, …}
알고리즘 :
𝑡 = 1, 𝐶 = ∅
for (𝑗=1 to N) 𝑤𝑡 𝑗 =
1
𝑁
repeat {
𝕨 𝑡를 고려하여 분류기 𝑐𝑡를 학습(가중치가 큰 샘플을 고려하여 학습)
𝜖 𝑡 = 𝑋에 대하여 𝑐𝑡가 잘못 분류하는 샘플의 가중치 합을 계산( if (𝑐𝑡 𝕩𝑖 ≠ 𝑡𝑖) )
if (𝜖 𝑡 < 0.5) {
𝑐𝑡의 신뢰도 𝜶 𝒕 =
𝟏
𝟐
𝐥𝐧(
𝟏−𝝐 𝒕
𝝐 𝒕
)
for (𝑖=1 to N) {
if ( 𝑐𝑡 𝕩𝑖 ≠ 𝑡𝑖 ) 𝒘 𝒕+𝟏 𝒊 = 𝒘 𝒕 𝒊 ∗ 𝒆 𝜶 𝒕
else 𝒘 𝒕+𝟏 𝒊 = 𝒘 𝒕 𝒊 ∗ 𝒆−𝜶 𝒕
}
가중치 벡터 𝕨 𝑡+1을 정규화
𝐶 = 𝐶 ∪ {𝑐𝑖}
}
𝑡 = 𝑡 + 1
} until (멈춤 조건)
return 𝐶
𝕨 𝑡를 고려하여 분류기 𝑐𝑡를 학습(가중치가 큰 샘플을 고려하여 학습)
𝑋에서 𝜌𝑁개의 샘플을 뽑아 𝑋𝑡라 한다.
이 때 𝕩𝑗가 뽑힐 확률이 𝑤𝑡(𝑗)가 되도록 한다.
replacement는 허용하지 않는다.
𝑋𝑡로 𝑐𝑡를 학습시킨다.
방법 1
방법 2 𝑋 전체를 사용한다.
𝜖 𝑡 = 𝑗=1, 𝑐 𝑡 𝕩 𝑗 ≠𝑡 𝑗
𝑁
𝑤𝑡(𝑗) 가 최소가 되도록 𝑐𝑡를 학습시킨다.
앙상블 결합
○ 다중 분류기의 출력을 결합하여 하나의 분류 결과를 만드는 과정
○ 1개의 분류기의 출력
 부류 표지(class label)
 부류 순위(class ranking)
 부류 확률(class probability)
Class label(부류 표지)
○ 분류기 𝑇개, 표지 벡터 : 𝐿1, … , 𝐿 𝑇 where 𝐿𝑖 = 𝑙𝑖1, … , 𝑙𝑖𝑀
𝑇
○ Majority vote(다수 투표)
𝑞 = arg max
𝑗=1,…,𝑀
𝑡=1
𝑇
𝑙 𝑡𝑗
○ Weighted majority vote(다중 다수 투표)
𝑞 = arg max
𝑗=1,…,𝑀
𝑡=1
𝑇
𝛼 𝑡 𝑙 𝑡𝑗
 Adaboost에서 사용할 수 있는 방법
○ Behavior knowledge space(BKS/행위지식공간)
 분류기가 부류들에 대해서 어떻게 행동하는지를 이용하는 것
다중 분류기의(𝑐1, 𝑐2, 𝑐3) 결과 : 𝑤1, 𝑤2, 𝑤1
우리는 𝑤1으로 분류되는 것이라고 확신?
만약 𝑐2가 𝑤2를 99.999%의 확률로 분류한다면?
𝕩1, 𝑤2 → (𝑤2, 𝑤2, 𝑤2)
𝕩2, 𝑤2 → (𝑤1, 𝑤2, 𝑤1)
…
(𝕩7, 𝑤2) → (𝑤1, 𝑤2, 𝑤1)
(𝕩8, 𝑤2) → (𝑤1, 𝑤2, 𝑤1)
(𝕩9, 𝑤1) → (𝑤1, 𝑤2, 𝑤1)
(𝕩10, 𝑤2) → (𝑤1, 𝑤2, 𝑤1)
(𝕩11, 𝑤3) → (𝑤3, 𝑤3, 𝑤3)
…
(𝕩20, 𝑤2) → (𝑤1, 𝑤2, 𝑤1)
(𝕩21, 𝑤2) → (𝑤1, 𝑤2, 𝑤1)
(𝕩22, 𝑤1) → (𝑤1, 𝑤2, 𝑤1)
(𝕩23, 𝑤3) → (𝑤1, 𝑤2, 𝑤1)
…
BKS 표
다중 분류기 결과 𝑤1 / 𝑤2 / 𝑤3
𝑤1, 𝑤1, 𝑤1
𝑤1, 𝑤1, 𝑤2
𝑤1, 𝑤1, 𝑤3
𝑤1, 𝑤2, 𝑤1 2 / 6 / 1
…
입력 샘플의 참 부류 빈도
input sample의 출력 결과가(𝑤1, 𝑤2, 𝑤1) 이면
𝑤2에 속한다고 결론을 내릴 수 있음
Borda 계수
○ 𝑇개 분류기로부터 ranking vector ℝ1, … , ℝ 𝑇를 얻는다.
 ℝ 𝑡 = (𝑟𝑡1, … , 𝑟𝑡𝑀)
○ 이들을 score vector 𝕊1, … , 𝕊 𝑇로 변환한다.
 𝕊 𝑡 = (𝑠𝑡1, … , 𝑠𝑡𝑀)
 단순하게, 𝑠𝑡𝑖 = 𝑀 − 𝑟𝑡𝑖 또는 s 𝑡𝑖 =
1
𝑟 𝑡𝑖
를 부여. for 𝑖 = 1, … , 𝑀
○ 𝑇개의 점수 벡터를 모두 더한 후 가장 큰 값을 갖는 부류 𝑤 𝑞로 최종 분류
𝑞 = arg max
𝑗=1,…,𝑀
𝑡=1
𝑇
𝑠𝑡𝑗
다중 분류기의 출력값이, 부류, 순위, 확률이 아닌 실수 벡터인 경우
○ MLP와 SVM은 부류 별로 실수 값을 출력 (Bayesian classifier : 엄밀한 확률 벡터)
 출력 벡터 𝕆 = 𝑜1, … , 𝑜 𝑀
𝑇
○ 𝑜𝑖는 확률은 아니고, 단지 느슨한 의미에서 𝑖번째 부류에 속한 신뢰도로 해석 가능
○ 신뢰도는 확률로 볼 수 없으므로, 적절한 변환을 거쳐, 확률로 간주
○ Softmax
𝑝𝑖 = 𝑠𝑜𝑓𝑡𝑚𝑎𝑥 𝑜𝑖 =
𝑒 𝑜 𝑖
𝑗=1
𝑀
𝑒 𝑜 𝑗
where 0 ≤ 𝑝𝑖 ≤ 1, 𝑖=1
𝑀
𝑝𝑖 = 1
1. 패턴인식 - 오일석
2. 머신러닝 인 액션 - 피터 해링턴
3. The Elements of Statistical Learning - Trevor Hastie, Robert Tibshirani, Jerome
Friedman
4. Machine learning : The art and Science of Algorithms that Make Sense of Data
- Peter Flach
MSE
○ 𝑁개의 샘플을 가진 샘플 집합 𝑋𝑖에 대한 제곱 오차 :
𝑔 𝕩; 𝑋𝑖 − 𝑓 𝕩
2
○ 𝑁개의 샘플을 가진 모든 𝑋에 대한 평균 :
𝐸 𝑋 𝑔 𝕩; 𝑋 − 𝑓 𝕩
2
⇒ 𝐸 𝑋 𝑔 𝕩; 𝑋 − 𝑓 𝕩
2
= 𝐸 𝑋 𝑔 𝕩; 𝑋 − 𝑓 𝕩
2
+ 𝐸 𝑋 𝑔 𝕩; 𝑋 − 𝐸 𝑋 𝑔 𝕩; 𝑋
2
𝐸 𝑋 − 𝑏 2
= 𝐸 𝑋 − 𝐸 𝑋 + 𝐸 𝑋 − 𝑏
2
= 𝐸 𝑋 − 𝐸 𝑋
2
+ 2 𝑋 − 𝐸 𝑋 𝐸 𝑋 − 𝑏 + 𝐸 𝑋 − 𝑏 2
= 𝐸 𝑋 − 𝐸 𝑋
2
+ 2𝐸 𝑋 − 𝐸 𝑋 𝐸 𝑋 − 𝑏 + 𝐸 𝐸 𝑋 − 𝑏 2
= 𝐸 𝑋 − 𝐸 𝑋
2
+ 𝐸 𝑋 − 𝑏 2
+ 2 𝐸 𝑋 − 𝑏 𝐸 𝑋 − 𝐸 𝑋
= 𝐸 𝑋 − 𝐸 𝑋
2
+ 𝐸 𝑋 − 𝑏 2
분산 𝑏𝑖𝑎𝑠2
분산𝑏𝑖𝑎𝑠2
Go back

More Related Content

What's hot

Faster R-CNN
Faster R-CNNFaster R-CNN
Faster R-CNNrlawjdgns
 
音楽の情報処理
音楽の情報処理音楽の情報処理
音楽の情報処理Akinori Ito
 
Keras vs Tensorflow vs PyTorch | Deep Learning Frameworks Comparison | Edureka
Keras vs Tensorflow vs PyTorch | Deep Learning Frameworks Comparison | EdurekaKeras vs Tensorflow vs PyTorch | Deep Learning Frameworks Comparison | Edureka
Keras vs Tensorflow vs PyTorch | Deep Learning Frameworks Comparison | EdurekaEdureka!
 
Linear regression
Linear regressionLinear regression
Linear regressionMartinHogg9
 
Backpropagation: Understanding How to Update ANNs Weights Step-by-Step
Backpropagation: Understanding How to Update ANNs Weights Step-by-StepBackpropagation: Understanding How to Update ANNs Weights Step-by-Step
Backpropagation: Understanding How to Update ANNs Weights Step-by-StepAhmed Gad
 
Feature Engineering - Getting most out of data for predictive models
Feature Engineering - Getting most out of data for predictive modelsFeature Engineering - Getting most out of data for predictive models
Feature Engineering - Getting most out of data for predictive modelsGabriel Moreira
 
Netflix recommendation systems
Netflix recommendation systemsNetflix recommendation systems
Netflix recommendation systemsMina Tafreshi
 
RLCode와 A3C 쉽고 깊게 이해하기
RLCode와 A3C 쉽고 깊게 이해하기RLCode와 A3C 쉽고 깊게 이해하기
RLCode와 A3C 쉽고 깊게 이해하기Woong won Lee
 
Lecture: Word Sense Disambiguation
Lecture: Word Sense DisambiguationLecture: Word Sense Disambiguation
Lecture: Word Sense DisambiguationMarina Santini
 
Reinforcement Learning
Reinforcement LearningReinforcement Learning
Reinforcement LearningSalem-Kabbani
 
Conditional Random Fields
Conditional Random FieldsConditional Random Fields
Conditional Random Fieldslswing
 
Natural Language Processing (NLP) & Text Mining Tutorial Using NLTK | NLP Tra...
Natural Language Processing (NLP) & Text Mining Tutorial Using NLTK | NLP Tra...Natural Language Processing (NLP) & Text Mining Tutorial Using NLTK | NLP Tra...
Natural Language Processing (NLP) & Text Mining Tutorial Using NLTK | NLP Tra...Edureka!
 
Deep Learning With Python | Deep Learning And Neural Networks | Deep Learning...
Deep Learning With Python | Deep Learning And Neural Networks | Deep Learning...Deep Learning With Python | Deep Learning And Neural Networks | Deep Learning...
Deep Learning With Python | Deep Learning And Neural Networks | Deep Learning...Simplilearn
 
Coordinate Descent method
Coordinate Descent methodCoordinate Descent method
Coordinate Descent methodSanghyuk Chun
 
내가 이해하는 SVM(왜, 어떻게를 중심으로)
내가 이해하는 SVM(왜, 어떻게를 중심으로)내가 이해하는 SVM(왜, 어떻게를 중심으로)
내가 이해하는 SVM(왜, 어떻게를 중심으로)SANG WON PARK
 
Word embeddings, RNN, GRU and LSTM
Word embeddings, RNN, GRU and LSTMWord embeddings, RNN, GRU and LSTM
Word embeddings, RNN, GRU and LSTMDivya Gera
 
Unsupervised Data Augmentation for Consistency Training
Unsupervised Data Augmentation for Consistency TrainingUnsupervised Data Augmentation for Consistency Training
Unsupervised Data Augmentation for Consistency TrainingSungchul Kim
 
Sublime text editor 3 설정 및 사용법 v1.4
Sublime text editor 3 설정 및 사용법 v1.4Sublime text editor 3 설정 및 사용법 v1.4
Sublime text editor 3 설정 및 사용법 v1.4Dongyang Mirae University
 
Deep neural networks for Youtube recommendations
Deep neural networks for Youtube recommendationsDeep neural networks for Youtube recommendations
Deep neural networks for Youtube recommendationsAryan Khandal
 
Machine learning session4(linear regression)
Machine learning   session4(linear regression)Machine learning   session4(linear regression)
Machine learning session4(linear regression)Abhimanyu Dwivedi
 

What's hot (20)

Faster R-CNN
Faster R-CNNFaster R-CNN
Faster R-CNN
 
音楽の情報処理
音楽の情報処理音楽の情報処理
音楽の情報処理
 
Keras vs Tensorflow vs PyTorch | Deep Learning Frameworks Comparison | Edureka
Keras vs Tensorflow vs PyTorch | Deep Learning Frameworks Comparison | EdurekaKeras vs Tensorflow vs PyTorch | Deep Learning Frameworks Comparison | Edureka
Keras vs Tensorflow vs PyTorch | Deep Learning Frameworks Comparison | Edureka
 
Linear regression
Linear regressionLinear regression
Linear regression
 
Backpropagation: Understanding How to Update ANNs Weights Step-by-Step
Backpropagation: Understanding How to Update ANNs Weights Step-by-StepBackpropagation: Understanding How to Update ANNs Weights Step-by-Step
Backpropagation: Understanding How to Update ANNs Weights Step-by-Step
 
Feature Engineering - Getting most out of data for predictive models
Feature Engineering - Getting most out of data for predictive modelsFeature Engineering - Getting most out of data for predictive models
Feature Engineering - Getting most out of data for predictive models
 
Netflix recommendation systems
Netflix recommendation systemsNetflix recommendation systems
Netflix recommendation systems
 
RLCode와 A3C 쉽고 깊게 이해하기
RLCode와 A3C 쉽고 깊게 이해하기RLCode와 A3C 쉽고 깊게 이해하기
RLCode와 A3C 쉽고 깊게 이해하기
 
Lecture: Word Sense Disambiguation
Lecture: Word Sense DisambiguationLecture: Word Sense Disambiguation
Lecture: Word Sense Disambiguation
 
Reinforcement Learning
Reinforcement LearningReinforcement Learning
Reinforcement Learning
 
Conditional Random Fields
Conditional Random FieldsConditional Random Fields
Conditional Random Fields
 
Natural Language Processing (NLP) & Text Mining Tutorial Using NLTK | NLP Tra...
Natural Language Processing (NLP) & Text Mining Tutorial Using NLTK | NLP Tra...Natural Language Processing (NLP) & Text Mining Tutorial Using NLTK | NLP Tra...
Natural Language Processing (NLP) & Text Mining Tutorial Using NLTK | NLP Tra...
 
Deep Learning With Python | Deep Learning And Neural Networks | Deep Learning...
Deep Learning With Python | Deep Learning And Neural Networks | Deep Learning...Deep Learning With Python | Deep Learning And Neural Networks | Deep Learning...
Deep Learning With Python | Deep Learning And Neural Networks | Deep Learning...
 
Coordinate Descent method
Coordinate Descent methodCoordinate Descent method
Coordinate Descent method
 
내가 이해하는 SVM(왜, 어떻게를 중심으로)
내가 이해하는 SVM(왜, 어떻게를 중심으로)내가 이해하는 SVM(왜, 어떻게를 중심으로)
내가 이해하는 SVM(왜, 어떻게를 중심으로)
 
Word embeddings, RNN, GRU and LSTM
Word embeddings, RNN, GRU and LSTMWord embeddings, RNN, GRU and LSTM
Word embeddings, RNN, GRU and LSTM
 
Unsupervised Data Augmentation for Consistency Training
Unsupervised Data Augmentation for Consistency TrainingUnsupervised Data Augmentation for Consistency Training
Unsupervised Data Augmentation for Consistency Training
 
Sublime text editor 3 설정 및 사용법 v1.4
Sublime text editor 3 설정 및 사용법 v1.4Sublime text editor 3 설정 및 사용법 v1.4
Sublime text editor 3 설정 및 사용법 v1.4
 
Deep neural networks for Youtube recommendations
Deep neural networks for Youtube recommendationsDeep neural networks for Youtube recommendations
Deep neural networks for Youtube recommendations
 
Machine learning session4(linear regression)
Machine learning   session4(linear regression)Machine learning   session4(linear regression)
Machine learning session4(linear regression)
 

Similar to Ensemble Model (Hybrid model)

Neural network (perceptron)
Neural network (perceptron)Neural network (perceptron)
Neural network (perceptron)Jeonghun Yoon
 
03. linear regression
03. linear regression03. linear regression
03. linear regressionJeonghun Yoon
 
04. logistic regression ( 로지스틱 회귀 )
04. logistic regression ( 로지스틱 회귀 )04. logistic regression ( 로지스틱 회귀 )
04. logistic regression ( 로지스틱 회귀 )Jeonghun Yoon
 
0307 1 estimation_theory
0307 1 estimation_theory0307 1 estimation_theory
0307 1 estimation_theoryJeonghun Yoon
 
05. k means clustering ( k-means 클러스터링)
05. k means clustering ( k-means 클러스터링)05. k means clustering ( k-means 클러스터링)
05. k means clustering ( k-means 클러스터링)Jeonghun Yoon
 
Control as Inference.pptx
Control as Inference.pptxControl as Inference.pptx
Control as Inference.pptxssuserbd1647
 
Deep Learning from scratch 5장 : backpropagation
 Deep Learning from scratch 5장 : backpropagation Deep Learning from scratch 5장 : backpropagation
Deep Learning from scratch 5장 : backpropagationJinSooKim80
 
0228 2 sample_distribution
0228 2 sample_distribution0228 2 sample_distribution
0228 2 sample_distributionJeonghun Yoon
 
Deep Learning from scratch 4장 : neural network learning
Deep Learning from scratch 4장 : neural network learningDeep Learning from scratch 4장 : neural network learning
Deep Learning from scratch 4장 : neural network learningJinSooKim80
 
해커에게 전해들은 머신러닝 #3
해커에게 전해들은 머신러닝 #3해커에게 전해들은 머신러닝 #3
해커에게 전해들은 머신러닝 #3Haesun Park
 
Deep learning study 1
Deep learning study 1Deep learning study 1
Deep learning study 1San Kim
 
[Probability for machine learning]
[Probability for machine learning][Probability for machine learning]
[Probability for machine learning]강민국 강민국
 
[컴퓨터비전과 인공지능] 7. 합성곱 신경망 2
[컴퓨터비전과 인공지능] 7. 합성곱 신경망 2[컴퓨터비전과 인공지능] 7. 합성곱 신경망 2
[컴퓨터비전과 인공지능] 7. 합성곱 신경망 2jdo
 
08. spectal clustering
08. spectal clustering08. spectal clustering
08. spectal clusteringJeonghun Yoon
 
Probability with MLE, MAP
Probability with MLE, MAPProbability with MLE, MAP
Probability with MLE, MAPJunho Lee
 
Lecture 2: Supervised Learning
Lecture 2: Supervised LearningLecture 2: Supervised Learning
Lecture 2: Supervised LearningSang Jun Lee
 

Similar to Ensemble Model (Hybrid model) (20)

Neural network (perceptron)
Neural network (perceptron)Neural network (perceptron)
Neural network (perceptron)
 
03. linear regression
03. linear regression03. linear regression
03. linear regression
 
0314 1 anova
0314 1 anova0314 1 anova
0314 1 anova
 
04. logistic regression ( 로지스틱 회귀 )
04. logistic regression ( 로지스틱 회귀 )04. logistic regression ( 로지스틱 회귀 )
04. logistic regression ( 로지스틱 회귀 )
 
0307 1 estimation_theory
0307 1 estimation_theory0307 1 estimation_theory
0307 1 estimation_theory
 
05. k means clustering ( k-means 클러스터링)
05. k means clustering ( k-means 클러스터링)05. k means clustering ( k-means 클러스터링)
05. k means clustering ( k-means 클러스터링)
 
Control as Inference.pptx
Control as Inference.pptxControl as Inference.pptx
Control as Inference.pptx
 
Deep Learning from scratch 5장 : backpropagation
 Deep Learning from scratch 5장 : backpropagation Deep Learning from scratch 5장 : backpropagation
Deep Learning from scratch 5장 : backpropagation
 
0228 2 sample_distribution
0228 2 sample_distribution0228 2 sample_distribution
0228 2 sample_distribution
 
Deep Learning from scratch 4장 : neural network learning
Deep Learning from scratch 4장 : neural network learningDeep Learning from scratch 4장 : neural network learning
Deep Learning from scratch 4장 : neural network learning
 
해커에게 전해들은 머신러닝 #3
해커에게 전해들은 머신러닝 #3해커에게 전해들은 머신러닝 #3
해커에게 전해들은 머신러닝 #3
 
Deep learning study 1
Deep learning study 1Deep learning study 1
Deep learning study 1
 
[Probability for machine learning]
[Probability for machine learning][Probability for machine learning]
[Probability for machine learning]
 
07. PCA
07. PCA07. PCA
07. PCA
 
[컴퓨터비전과 인공지능] 7. 합성곱 신경망 2
[컴퓨터비전과 인공지능] 7. 합성곱 신경망 2[컴퓨터비전과 인공지능] 7. 합성곱 신경망 2
[컴퓨터비전과 인공지능] 7. 합성곱 신경망 2
 
Decision tree
Decision treeDecision tree
Decision tree
 
Variational AutoEncoder(VAE)
Variational AutoEncoder(VAE)Variational AutoEncoder(VAE)
Variational AutoEncoder(VAE)
 
08. spectal clustering
08. spectal clustering08. spectal clustering
08. spectal clustering
 
Probability with MLE, MAP
Probability with MLE, MAPProbability with MLE, MAP
Probability with MLE, MAP
 
Lecture 2: Supervised Learning
Lecture 2: Supervised LearningLecture 2: Supervised Learning
Lecture 2: Supervised Learning
 

More from Jeonghun Yoon

0307 2 hypothesis_testing
0307 2 hypothesis_testing0307 2 hypothesis_testing
0307 2 hypothesis_testingJeonghun Yoon
 
0221 basic probability theory
0221 basic probability theory0221 basic probability theory
0221 basic probability theoryJeonghun Yoon
 
0131 2 spectral_theorem_eigenvalue
0131 2 spectral_theorem_eigenvalue0131 2 spectral_theorem_eigenvalue
0131 2 spectral_theorem_eigenvalueJeonghun Yoon
 
0131 1 spectral_theorem_transformation
0131 1 spectral_theorem_transformation0131 1 spectral_theorem_transformation
0131 1 spectral_theorem_transformationJeonghun Yoon
 
0124 2 linear_algebra_basic_matrix
0124 2 linear_algebra_basic_matrix0124 2 linear_algebra_basic_matrix
0124 2 linear_algebra_basic_matrixJeonghun Yoon
 
0124 1 linear_algebra_basic_vector
0124 1 linear_algebra_basic_vector0124 1 linear_algebra_basic_vector
0124 1 linear_algebra_basic_vectorJeonghun Yoon
 
Association rule mining
Association rule miningAssociation rule mining
Association rule miningJeonghun Yoon
 
02. naive bayes classifier revision
02. naive bayes classifier   revision02. naive bayes classifier   revision
02. naive bayes classifier revisionJeonghun Yoon
 

More from Jeonghun Yoon (14)

Topic models
Topic modelsTopic models
Topic models
 
0314 2 correlation
0314 2 correlation0314 2 correlation
0314 2 correlation
 
0307 2 hypothesis_testing
0307 2 hypothesis_testing0307 2 hypothesis_testing
0307 2 hypothesis_testing
 
0221 basic probability theory
0221 basic probability theory0221 basic probability theory
0221 basic probability theory
 
0207 1 gradient
0207 1 gradient0207 1 gradient
0207 1 gradient
 
0131 2 spectral_theorem_eigenvalue
0131 2 spectral_theorem_eigenvalue0131 2 spectral_theorem_eigenvalue
0131 2 spectral_theorem_eigenvalue
 
0131 1 spectral_theorem_transformation
0131 1 spectral_theorem_transformation0131 1 spectral_theorem_transformation
0131 1 spectral_theorem_transformation
 
0124 2 linear_algebra_basic_matrix
0124 2 linear_algebra_basic_matrix0124 2 linear_algebra_basic_matrix
0124 2 linear_algebra_basic_matrix
 
0124 1 linear_algebra_basic_vector
0124 1 linear_algebra_basic_vector0124 1 linear_algebra_basic_vector
0124 1 linear_algebra_basic_vector
 
SVM
SVMSVM
SVM
 
Association rule mining
Association rule miningAssociation rule mining
Association rule mining
 
06. graph mining
06. graph mining06. graph mining
06. graph mining
 
02. naive bayes classifier revision
02. naive bayes classifier   revision02. naive bayes classifier   revision
02. naive bayes classifier revision
 
01. introduction
01. introduction01. introduction
01. introduction
 

Ensemble Model (Hybrid model)

  • 2. 혼성 모델 ○ 여러 알고리즘을 결합하는 모델 ○ 여러 알고리즘을 결합하면 가장 좋은 단일 알고리즘보다 결과가 좋다는 대다수의 의견 혼성 모델의 도입 배경 ○ 특정 문제가 주어진 상황에서 그 문제를 가장 높은 성능으로 풀 수 있는 알고리즘에 대 한 필요성 ○ 다른 모든 방법을 능가하는 보편적으로 우수한 알고리즘의 존재에 대한 의문
  • 3. Resampling ○ 교차 검증 ○ Bootstrap(붓스트랩) Ensemble(앙상블) ○ Bagging ○ Random forest ○ Adaboost
  • 4. 1. No free lunch 2. bias-variance dilemma 알고리즘 성능에 대한 현상
  • 5. 모든 문제에 대해 다른 모든 알고리즘을 능가하는 알고리즘이 있나? ○ 없다. ○ 이론적으로 증명 ⇒ No free lunch(NFL) 정리  어떤 특정 정책에 의해 얼핏 보면 이득을 얻는 것 같지만, 그것은 한 측면의 이 득일 뿐이고 반드시 이면에 다른 측면이 있고 그 측면에서 손해가 발생한다.  No free lunch theorems for optimization. (David H. Wolpert)  모든 알고리즘은 ①, ②, ③과 같다. 주어진 문제 : 필기 숫자 인식 부분 문제 : 아주 또렷한 필기 숫자 인식 ① ② ③ 문제 성능 ?
  • 6. 𝑓(𝕩) 𝑔(𝕩; 𝑋1) 𝑓(𝕩) 𝑔(𝕩; 𝑋1) sample set : 𝑋1 𝑓(𝕩) 𝑔(𝕩; 𝑋2) 𝑓(𝕩) 𝑔(𝕩; 𝑋2) sample set : 𝑋2 𝑓(𝕩) 𝑔(𝕩; 𝑋3) 𝑓(𝕩) 𝑔(𝕩; 𝑋3) sample set : 𝑋3 bias = 추정치의 평균 - 참 값(추정하고 싶은 값) bias? variance?
  • 7. bias-variance-dilemma ○ 샘플집합 𝑋는 𝑓(𝕩)로부터 생성 ○ 𝑋를 사용하여 근사치 𝑔(𝕩)를 추정 ⇒ 𝑔(𝕩; 𝑋)로 표현가능 ○ 모델 𝑔(𝕩; 𝑋)가 𝑓(𝕩)에 얼마나 충실한 지를 나타내는 척도(MSE) : 𝐸 𝑋 𝑔 𝕩; 𝑋 − 𝑓 𝕩 2 = 𝐸 𝑋 𝑔 𝕩; 𝑋 − 𝑓 𝕩 2 + 𝐸 𝑋 𝑔 𝕩; 𝑋 − 𝐸 𝑋 𝑔 𝕩; 𝑋 2 ○ bias : 모델 𝑔(𝕩)와 참 함수 𝑓(𝕩)와의 차이 ○ 분산 : 서로 다른 샘플 집합으로 추정한 𝑔(𝕩)간의 차이. 𝑔(𝕩)가 𝑋에 대하여 얼마나 민감 한지를 나타냄. ○ 모델을 선택할 때, 어떤 모델을 선택해도 MSE는 같다. 다만 오차의 내용이 다를 뿐이다. ○ 샘플 집합의 크기 𝑁이 커지면 분산의 값이 감소 ⇒ MSE 감소 𝑏𝑖𝑎𝑠2 분산 Go to Appendix
  • 8. Resampling의 필요성 ○ 실제 상황에서는 만족할 만큼 충분히 큰 sample 집합 확보의 어려움  bias-variance dilemma를 통하여, 충분히 큰 sample의 수를 확보하는 것이 중요 하다는 것을 알 수 있음  모델 선택은 별도의 검증 집합이 필요함(큰 sample의 필요성) Resampling ○ 데이터의 양이 충분치 않을 때, 같은 샘플을 여러 번 사용하는 것. ○ 성능 측정의 통계적인 신뢰도를 높이려는 의도
  • 9. 교차 검증 ○ Resampling을 이용하여, 분류기의 성능을 측정하는 방법 중 하나(no replacement) 입력 : 분류기 𝑐, 훈련 집합 𝑋 = { 𝕩1, 𝑡1 , 𝕩2, 𝑡2 , … , (𝕩 𝑁, 𝑡 𝑁)}, 𝑘(2 ≤ 𝑘 ≤ 𝑁) 출력 : 성능 𝑞 알고리즘 : 𝑋를 𝑘개의 부분 집합으로 등분하고 그들을 𝑋1, 𝑋2,…, 𝑋 𝑘라 한다. for (𝑖 = 1 to 𝑘) { 𝑋′ = 𝑗=1,𝑖≠𝑗 𝑘 𝑋𝑗 로 𝑐를 학습 𝑋𝑖로 𝑐의 성능을 측정(𝑞𝑖) } return 𝑞 = 1 𝑘 𝑖=1 𝑘 𝑞𝑖 𝑋1 𝑋𝑖 𝑋 𝑘 𝑋 = 𝑖=1 𝑘 𝑋𝑖 , 𝑋𝑖s are mutually disjoint.
  • 10. Bootstrap ○ statistical term for “roll n-face dice n times” ○ Resampling을 이용하여, 분류기의 성능을 측정하는 방법 중 하나(replacement) ○ sample이 두 번 이상 뽑히는 경우, 한 번도 안 뽑히는 경우 발생 입력 : 분류기 𝑐, 훈련 집합 𝑋 = { 𝕩1, 𝑡1 , 𝕩2, 𝑡2 , … , (𝕩 𝑁, 𝑡 𝑁)}, 반복횟수 𝑇 출력 : 성능 𝑞 알고리즘 : for (𝑖 = 1 to 𝑇) { 𝑋에서 임의로 𝑁개의 샘플을 뽑아 𝑋𝑡라 한다. (replacement) 𝑋𝑡로 분류기 𝑐를 학습. 𝑋 − 𝑋𝑡로 𝑐의 성능을 측정하여 𝑞𝑡라 한다. } return 𝑞 = 1 𝑘 𝑖=1 𝑘 𝑞𝑖 𝑋 𝑋𝑡 𝑠선택 𝑠반납검증 셋
  • 11. 동기 ○ 여럿의 의견을 종합할 때의 힘  어느 도시에서는 소를 광장에 매어 놓고 참가자들에게 체중을 추정하여 적어 내 게 하고 실제 체중에 가장 가까운 사람에게 상품을 주는 대회가 있다고 한다. 수 백 명이 참가하는데 그들이 적어낸 숫자들을 평균해 보면 답과 아주 근사하다고 한다. ○ 사람들은 중요한 의사 결정을 할 때 여러 사람의 의견을 듣는 습성이 있다. Ensemble ○ 혼성 모델 중에 가장 활발히 연구되는 주제 ○ 모델의 합집합, 모음 (type 1)  같은 문제에 대해 서로 다른 여러 알고리즘이 해를 구하고, 결합 알고리즘이 그 들을 결합하여 최종 해를 만드는 방식  다중 분류기 방법(여러 개의 분류기를 만들고 그들의 출력을 결합) (type 2)  연산 공유(operation sharing) 방식. 즉 해를 구하는데 두 개 이상의 알고리즘이 개입.
  • 12. 다양성(diversity) ○ 앙상블에 참여한 분류기가 모두 같은 분류 결과를 출력한다면, 결합에 의해 얻는 이득 은 전혀 없다. ○ 어떤 분류기가 틀리는 샘플을 다른 분류기는 맞추는 그런 경향을 내포하는 다양성이 보장되어야 한다. 앙상블 생성 앙상블 선택 앙상블 결합 분류기 앙상블 시스템(Classifier Ensemble System)
  • 13. 앙상블 생성(분류기 앙상블 시스템) ○ resamplig을 통하여 생성된 샘플 집합들을 이용하여, 분류기들을 각각 훈련  Bagging  Boosting ○ 특징 벡터의 부분 공간을 이용하여, 샘플 부분 집합을 생성 후 분류기를 훈련  Random forest ○ 앙상블을 구성하는 분류기 : 요소 분류기(component classifier), 기초 분류기(base) 𝑋 𝑋1 𝑋 𝑇 …. classifer 𝑐1 learning classifer 𝑐 𝑇 learning앙상블 생성 idea(Bagging) {𝑐1, … , 𝑐 𝑇} resampling
  • 14. Bagging ○ 붓스트랩을 다중 분류기 생성 기법으로 확장 : Boostrap aggregating ○ boostraped된 샘플 집합에서 훈련 후, 입력 값에 대하여, 분류기들의 평균값을 취함 ○ bias↓ variance↑인 분류기에 사용 ⇒ variance↓ (How? average)  트리 분류기와 같이 불안정성을 보이는 분류기에 큰 효과를 발휘  훈련 집합이 달라지면 차이가 큰 트리가 생성 ⇒ 다양성 확보 but 분산↑ 입력 : 훈련 집합 𝑋 = { 𝕩1, 𝑡1 , 𝕩2, 𝑡2 , … , (𝕩 𝑁, 𝑡 𝑁)}, 샘플링 비율 𝜌(0 < 𝜌 ≤ 1) 출력 : 분류기 앙상블(Classifier Ensemble) 알고리즘 : 𝑡 = 0, 𝐶 = ∅ repeat { 𝑡 = 𝑡 + 1 𝑋에서 임의로 𝜌𝑁개의 샘플을 뽑아 𝑋𝑡라 한다.(replacement) 𝑋𝑡로 분류기 𝑐𝑖를 학습한다. 𝐶 = 𝐶 ∪ {𝑐𝑖} } until (멈춤 조건) return 𝐶 𝒄𝒊는 서로 독립
  • 15. Random forest ○ tree 모델에 bagging과 subspace sampling을 적용한 기법 ○ tree간 correlation을 줄임(de-correlated trees' collection) - using randomness ○ 예측 시 : (Regression) collection의 tree에 sample이 입력되었을 때는 결과값들의 평균 을 구하여 모델들의 분산을 줄여줌 / (Classification) majority vote 입력 : 훈련 집합 𝑋 = { 𝕩1, 𝑡1 , 𝕩2, 𝑡2 , … , (𝕩 𝑁, 𝑡 𝑁)}, 샘플링 비율 𝜌(0 < 𝜌 ≤ 1) 출력 : 분류기 앙상블(Classifier Ensemble) 알고리즘 : 𝑡 = 0, 𝐶 = ∅ repeat { 𝑡 = 𝑡 + 1 𝑋에서 임의로 𝜌𝑁개의 샘플을 뽑아 𝑋𝑡라 한다.(replacement) 노드에서 split할 때, sample의 𝑝 feature 중 random하게 𝑚 feature를 선택한다. 선택된 feature들로 생성된 부분 공간 샘플을 후보로 하여 학습한다. 𝐶 = 𝐶 ∪ {𝑐𝑖} } until (멈춤 조건) return 𝐶 (𝑋𝑡에서 분류기를 학습) 𝒎 ≤ 𝒑
  • 16. Boosting ○ weak learner을 (reweighted) training data 위에서 여러 번 학습 시킨 후, 학습 된 classifiers의 (weighted) majority vote를 이용 ○ 분류기 앙상블 내, 𝑡번째 분류기 𝑐𝑡와 𝑡 + 1번째 분류기 𝑐𝑡+1이 연관성을 가지고 생성 ① 𝑋의 샘플을 𝑐𝑡가 옳게 분류하는 것과 틀리게 분류하는 것으로 분류 ② 옳게 분류하는 샘플은 이제 인식이 가능하므로 가중치를 낮춤 ③ 틀리게 분류하는 샘플은 아직 "까다로운" 상태이므로 가중치를 높임 ④ 𝑐𝑡+1를 학습 시키기 위한 sample 집합의 resampling 과정에서, 가중치가 높은 샘플이 뽑힐 확률이 높아지는 정책 사용 ○ resampling 시, replacement를 허용하지 않음.  한 번 뽑힌 샘플은 다시 사용하지 않음. ○ Adaboost 알고리즘
  • 17. 입력 : 훈련 집합 𝑋 = 𝕩1, 𝑡1 , 𝕩2, 𝑡2 , … , 𝕩 𝑁, 𝑡 𝑁 출력 : 분류기 앙상블(Classifier Ensemble) {𝑐1, … }, 분류기 신뢰도 {𝛼1, …} 알고리즘 : 𝑡 = 1, 𝐶 = ∅ for (𝑗=1 to N) 𝑤𝑡 𝑗 = 1 𝑁 repeat { 𝕨 𝑡를 고려하여 분류기 𝑐𝑡를 학습(가중치가 큰 샘플을 고려하여 학습) 𝜖 𝑡 = 𝑋에 대하여 𝑐𝑡가 잘못 분류하는 샘플의 가중치 합을 계산( if (𝑐𝑡 𝕩𝑖 ≠ 𝑡𝑖) ) if (𝜖 𝑡 < 0.5) { 𝑐𝑡의 신뢰도 𝜶 𝒕 = 𝟏 𝟐 𝐥𝐧( 𝟏−𝝐 𝒕 𝝐 𝒕 ) for (𝑖=1 to N) { if ( 𝑐𝑡 𝕩𝑖 ≠ 𝑡𝑖 ) 𝒘 𝒕+𝟏 𝒊 = 𝒘 𝒕 𝒊 ∗ 𝒆 𝜶 𝒕 else 𝒘 𝒕+𝟏 𝒊 = 𝒘 𝒕 𝒊 ∗ 𝒆−𝜶 𝒕 } 가중치 벡터 𝕨 𝑡+1을 정규화 𝐶 = 𝐶 ∪ {𝑐𝑖} } 𝑡 = 𝑡 + 1 } until (멈춤 조건) return 𝐶
  • 18. 𝕨 𝑡를 고려하여 분류기 𝑐𝑡를 학습(가중치가 큰 샘플을 고려하여 학습) 𝑋에서 𝜌𝑁개의 샘플을 뽑아 𝑋𝑡라 한다. 이 때 𝕩𝑗가 뽑힐 확률이 𝑤𝑡(𝑗)가 되도록 한다. replacement는 허용하지 않는다. 𝑋𝑡로 𝑐𝑡를 학습시킨다. 방법 1 방법 2 𝑋 전체를 사용한다. 𝜖 𝑡 = 𝑗=1, 𝑐 𝑡 𝕩 𝑗 ≠𝑡 𝑗 𝑁 𝑤𝑡(𝑗) 가 최소가 되도록 𝑐𝑡를 학습시킨다.
  • 19. 앙상블 결합 ○ 다중 분류기의 출력을 결합하여 하나의 분류 결과를 만드는 과정 ○ 1개의 분류기의 출력  부류 표지(class label)  부류 순위(class ranking)  부류 확률(class probability)
  • 20. Class label(부류 표지) ○ 분류기 𝑇개, 표지 벡터 : 𝐿1, … , 𝐿 𝑇 where 𝐿𝑖 = 𝑙𝑖1, … , 𝑙𝑖𝑀 𝑇 ○ Majority vote(다수 투표) 𝑞 = arg max 𝑗=1,…,𝑀 𝑡=1 𝑇 𝑙 𝑡𝑗 ○ Weighted majority vote(다중 다수 투표) 𝑞 = arg max 𝑗=1,…,𝑀 𝑡=1 𝑇 𝛼 𝑡 𝑙 𝑡𝑗  Adaboost에서 사용할 수 있는 방법 ○ Behavior knowledge space(BKS/행위지식공간)  분류기가 부류들에 대해서 어떻게 행동하는지를 이용하는 것
  • 21. 다중 분류기의(𝑐1, 𝑐2, 𝑐3) 결과 : 𝑤1, 𝑤2, 𝑤1 우리는 𝑤1으로 분류되는 것이라고 확신? 만약 𝑐2가 𝑤2를 99.999%의 확률로 분류한다면? 𝕩1, 𝑤2 → (𝑤2, 𝑤2, 𝑤2) 𝕩2, 𝑤2 → (𝑤1, 𝑤2, 𝑤1) … (𝕩7, 𝑤2) → (𝑤1, 𝑤2, 𝑤1) (𝕩8, 𝑤2) → (𝑤1, 𝑤2, 𝑤1) (𝕩9, 𝑤1) → (𝑤1, 𝑤2, 𝑤1) (𝕩10, 𝑤2) → (𝑤1, 𝑤2, 𝑤1) (𝕩11, 𝑤3) → (𝑤3, 𝑤3, 𝑤3) … (𝕩20, 𝑤2) → (𝑤1, 𝑤2, 𝑤1) (𝕩21, 𝑤2) → (𝑤1, 𝑤2, 𝑤1) (𝕩22, 𝑤1) → (𝑤1, 𝑤2, 𝑤1) (𝕩23, 𝑤3) → (𝑤1, 𝑤2, 𝑤1) … BKS 표 다중 분류기 결과 𝑤1 / 𝑤2 / 𝑤3 𝑤1, 𝑤1, 𝑤1 𝑤1, 𝑤1, 𝑤2 𝑤1, 𝑤1, 𝑤3 𝑤1, 𝑤2, 𝑤1 2 / 6 / 1 … 입력 샘플의 참 부류 빈도 input sample의 출력 결과가(𝑤1, 𝑤2, 𝑤1) 이면 𝑤2에 속한다고 결론을 내릴 수 있음
  • 22. Borda 계수 ○ 𝑇개 분류기로부터 ranking vector ℝ1, … , ℝ 𝑇를 얻는다.  ℝ 𝑡 = (𝑟𝑡1, … , 𝑟𝑡𝑀) ○ 이들을 score vector 𝕊1, … , 𝕊 𝑇로 변환한다.  𝕊 𝑡 = (𝑠𝑡1, … , 𝑠𝑡𝑀)  단순하게, 𝑠𝑡𝑖 = 𝑀 − 𝑟𝑡𝑖 또는 s 𝑡𝑖 = 1 𝑟 𝑡𝑖 를 부여. for 𝑖 = 1, … , 𝑀 ○ 𝑇개의 점수 벡터를 모두 더한 후 가장 큰 값을 갖는 부류 𝑤 𝑞로 최종 분류 𝑞 = arg max 𝑗=1,…,𝑀 𝑡=1 𝑇 𝑠𝑡𝑗
  • 23. 다중 분류기의 출력값이, 부류, 순위, 확률이 아닌 실수 벡터인 경우 ○ MLP와 SVM은 부류 별로 실수 값을 출력 (Bayesian classifier : 엄밀한 확률 벡터)  출력 벡터 𝕆 = 𝑜1, … , 𝑜 𝑀 𝑇 ○ 𝑜𝑖는 확률은 아니고, 단지 느슨한 의미에서 𝑖번째 부류에 속한 신뢰도로 해석 가능 ○ 신뢰도는 확률로 볼 수 없으므로, 적절한 변환을 거쳐, 확률로 간주 ○ Softmax 𝑝𝑖 = 𝑠𝑜𝑓𝑡𝑚𝑎𝑥 𝑜𝑖 = 𝑒 𝑜 𝑖 𝑗=1 𝑀 𝑒 𝑜 𝑗 where 0 ≤ 𝑝𝑖 ≤ 1, 𝑖=1 𝑀 𝑝𝑖 = 1
  • 24. 1. 패턴인식 - 오일석 2. 머신러닝 인 액션 - 피터 해링턴 3. The Elements of Statistical Learning - Trevor Hastie, Robert Tibshirani, Jerome Friedman 4. Machine learning : The art and Science of Algorithms that Make Sense of Data - Peter Flach
  • 25. MSE ○ 𝑁개의 샘플을 가진 샘플 집합 𝑋𝑖에 대한 제곱 오차 : 𝑔 𝕩; 𝑋𝑖 − 𝑓 𝕩 2 ○ 𝑁개의 샘플을 가진 모든 𝑋에 대한 평균 : 𝐸 𝑋 𝑔 𝕩; 𝑋 − 𝑓 𝕩 2 ⇒ 𝐸 𝑋 𝑔 𝕩; 𝑋 − 𝑓 𝕩 2 = 𝐸 𝑋 𝑔 𝕩; 𝑋 − 𝑓 𝕩 2 + 𝐸 𝑋 𝑔 𝕩; 𝑋 − 𝐸 𝑋 𝑔 𝕩; 𝑋 2 𝐸 𝑋 − 𝑏 2 = 𝐸 𝑋 − 𝐸 𝑋 + 𝐸 𝑋 − 𝑏 2 = 𝐸 𝑋 − 𝐸 𝑋 2 + 2 𝑋 − 𝐸 𝑋 𝐸 𝑋 − 𝑏 + 𝐸 𝑋 − 𝑏 2 = 𝐸 𝑋 − 𝐸 𝑋 2 + 2𝐸 𝑋 − 𝐸 𝑋 𝐸 𝑋 − 𝑏 + 𝐸 𝐸 𝑋 − 𝑏 2 = 𝐸 𝑋 − 𝐸 𝑋 2 + 𝐸 𝑋 − 𝑏 2 + 2 𝐸 𝑋 − 𝑏 𝐸 𝑋 − 𝐸 𝑋 = 𝐸 𝑋 − 𝐸 𝑋 2 + 𝐸 𝑋 − 𝑏 2 분산 𝑏𝑖𝑎𝑠2 분산𝑏𝑖𝑎𝑠2 Go back