티스토리 뷰

728x90

1. Artificial Neural Networks (ANN)

 1. ANN 모델은 상호 연결될 Node와 가중치 링크의 집단이다.

 2. Output Node는 링크의 가중치에 따라 각 입력 값을 합산한다.

3. 합산한 값이 가중치(Threshold)를 넘으면 1 넘지 못하면 0이 된다.

4. Training ANN means learning the weights of the neurons

5. 시작 Weights(W1, W2, W3, ......, Wk)는 random값으로 많이 한다.

6. ANN의 결과가 목표와 일치하도록 가중치를 조정한다. 7. 오차률은 Objective Function으로 구하면 수식은 다음과 같다.

8. Objective Function 값이 작은 W를 구하는 것이 목표이다.



2. Support Vector Machines

 1. 데이터를 구분하는 hyperplane (decision boundary)를 찾는다.

 

 2. 2개를 비교하였을때 Margin이 큰 B1이 B2보다 더 좋다.

 

 3. 아래 수식(f(x))을 보면 B1을 기점으로 Margin 범위를 제외한 범위에 값들에 대해서 양분화 한다.


 4. 만약 선형이 분리되지 않는다면 어떻게 할것인가?

     Slack Variable을 이용한다.

 

 5. Decision Boundary가 선형이 아니면 어떻게 할것인가?

     데이터를 다른 차원으로 변경하여 선형으로 만든다.

 

3. Ensemble Methods

 1. 훈련(학습) 데이터로부터 classifiers의 집합을 구성한다. 생성된 classifiers의 집합에 의해 만들어진 예측을 집계하여 이전에 보이지 않은 레코드의 클래스 레이블을 예측한다.

2. 생성된 각각의 Classifiers의 Error Rate가 E = 0.35 이라면 합친 Combine Classifier의 Error Rate는 다음과 같다.

3. Bagging

     데이터를 나눌 시, 원본 데이터에서 셈플링을 한느데 중복을 허용하여 선택될 수 있다.


     데이터는 n개 있을 때, 셈플링을 n개 한다

        - x가 y번째에 선택될 확률은 1/n이다. 

        - 선택되지 않을 확률은 1 - 1/n이다. 

        - 셈플링을 n개 하기 떄문에 n개 모두 x가 선택되지 않을 경우는 (1-1/n)^n이다. 

        - n개의 셈플링 중 적어도 한번이라도 x가 선택될 확률을 1 - (1-1/n)^n이다. 


4. Boosting

     이전에 잘못 분류 된 레코드에 더 초점을 맞춰 학습 데이터의 배포를 유동적으로 변경하여 학습한다.


     위 표에서는 데이터 4가 Round1과 Round2에서 학습이 잘 되지 않아 Round3에서 많이 학습을 하여 잘못 분류된 Record, 즉 데이터 4의 가중치가 증가합니다. 반대로 학습 비중이 적어진 다른 데이터들은 가중치가 감소합니다.



4. AdaBoost

 1. AdaBoost는 가속화 분류기를 훈련시키는 한 방법을 이르는 말이다.

     Error Rate는 아래와 같으며 자세한 설명은 Wiki에 '에이다부스트'를 검색하면 잘?? 나와있다.


     Classifier Weight는 다음과 같다.( 여기서 Weight는 품질로 해석해야하지는 모르겠다)

 2. Classifier Weight와 Error Rate간 관계를 나타낸 그래프이다.


     Classifier Weight는 Error Rate가 0에 가까울수록 증가한다.

     Error Rate가 0.5이면 Classifier Weight는 0이다. 이는 50%의 정확도의 분류 기준은 임의 추측보다 낫지 않으므로 무시한다는 뜻이다.

     Classifier Weight는 Error Rate가10에 가까울수록 음수로 증가한다.


 3. 학습으로 인한 Weight에 갱신 공식은 다음과 같다.


     여기서 Z는 통상적인 요소로 특별한 것이 없으면 1이라 생각하면 된다.

     만약 0.5보다 높은 Error Rate를 가지면 Weight가 안좋아 지기 때문에 Weight는 1/n으로 되돌려 지고 다시 샘플링부터 학습 절차가 진행된다. (If any intermediate rounds produce error rate  higher than 50%, the weights are reverted back  to 1/n and the resampling procedure is repeated - 여기서 1/n라는 부분에서 Weight에 1/n을 곱한다는 말인지 정확하게 모르겠다)



5. AdaBoost Sample(1)

 1. Original Data

     10개의 데이터가 있고 각각의 weight는 1/10이다.


 2. Boosting Round 1

     여기서 B1은 Decision Boundary이다. B1을 기준으로 왼쪽은 +, 오른쪽은 -로 추론을 한다.

    ▪ Boosting Round1에서는 맨 우측 2개의 데이터가 weight가 높게 나와 추론이 틀린 것을 알 수 있다.


 3. Boosting Round 2

     B2를 기준으로 왼쪽은 -, 오른쪽은 +로 추론을 한다.

    ▪ Boosting Round2에서는 맨 좌측 3개의 데이터가 weight가 높게 나와 추론이 틀린 것을 알 수 있다.


 4. Boosting Round 3

     B3를 기준으로 왼쪽은 +, 오른쪽은 -로 추론을 한다.

    ▪ 그림과 같이 가운데 5개 weight가 높에 추론이 틀린것을 알 수 있다.


 5. Overall

     Boosting Round 1, 2, 3의 틀린 부분을 고려하여 classifier을 만든다.



5. AdaBoost Sample(2)

 1. Original Data


 2. Boosting Round 1

     h1를 기준으로 왼쪽은 +, 오른쪽은 -로 추측하였을때, 오차률을 0.3이며 Classifier Weight는 0.43이다. 


 3. Boosting Round 2

     h2를 기준으로 왼쪽은 +, 오른쪽은 -로 추측하였을때, 오차률을 0.21이며 Classifier Weight는 0.65이다. 


 4. Boosting Round 3

     h2를 기준으로 위쪽은 +, 아래쪽은 -로 추측하였을때, 오차률을 0.14이며 Classifier Weight는 0.92이다. 


 5. Overall

     3개를 잘 조합하여 만든다.


댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함