분류 알고리즘
분류 알고리즘.................................................................................................................... 1
1. 베이지안 분류기......................................................................................................... 9
1.1. 정의...................................................................................................................... 9
1.1.1. 나이브 베이즈는 조건부 확률 모델이다................................................... 9
1.2. 목적...................................................................................................................... 9
1.2.1. 학습되면 자동으로 새로운 항목을 분류할 수 있다................................. 9
1.2.2. 나이브 베이즈 분류는 텍스트 분류에 사용됨으로써 문서를 여러 범주 (예: 스팸, 스포츠, 정치)중 하나로 판단하는 문제에 대한 대중적인 방법으로 남아있다.......................................................................... 9
1.3. 동작...................................................................................................................... 9
1.3.1. 보아온 모든 특성과 특성이 특정 분류에 연계될 숫자 확률을 추적...... 9
1.3.2. 하나하나 예제를 받아가며 분류기는 학습된다....................................... 9
1.3.3. 각 예제마다 분류기는 그 예제에서 특성과 분류기에 대한 확률을 갱신하고, 특정 분류에 관한 문서가 주어진 단어를 가질 확률을 생성한다........................................................................................................ 9
1.4. 장단점.................................................................................................................. 9
1.4.1. 장점............................................................................................................... 9
1.4.2. 단점............................................................................................................. 10
1.5. 세부 분류........................................................................................................... 11
1.5.1. 나이브 베이지안 분류기........................................................................... 11
1.6. 응용사례............................................................................................................ 11
1.6.1. 텍스트 분류................................................................................................ 11
1.6.2. 자동 의료 진단 분야에서 응용................................................................. 11
2. 의사결정트리 분류기.............................................................................................. 11
2.1. 정의.................................................................................................................... 11
2.1.1. 결정 트리 학습법은 데이터 마이닝에서 일반적으로 사용되는 방법론으로, 몇몇 입력 변수를 바탕으로 목표 변수의 값을 예측하는 모델을 생성하는 것을 목표로 한다...................................................... 11
2.1.2. 결정 트리의 ’학습'은 학습에 사용되는 자료 집합을 적절한 분할 기준 또는 분할 테스트에 따라 부분 집합들로 나누는 과정이다. 이러한 과정은 순환 분할이라 불리는 방식으로 각각의 나눠진 자료 부분 집합에 재귀적으로 반복되며, 분할로 인해 더 이상 새로운 예측 값이 추가되지 않거나 부분 집합의 노드가 목표 변수와 같은 값을 지닐 때까지 계속된다. 이러한 하향식 결정 트리 귀납법(top-down induction of decision trees , TDIDT)은 탐욕 알고리즘의 한 예시이며, 데이터로부터 결정 트리를 학습하는 가장 일반적인 방법이다.................................................................................................. 11
2.2. 목적.................................................................................................................... 12
2.2.1. 지도 분류 학습에서 가장 유용하게 사용되고 있는 기법 중 하나이다. 12
2.3. 동작.................................................................................................................... 12
2.3.2. 트리의 최상단 노드에서 시작해서, 노드의 조건에 대해 항목을 점검한다. 12
2.3.3. 상단에서부터 가능한 최적의 방법으로 각 단계에서 데이터를 분리할 속성들을 선택하면서 트리를 만든다. 13
2.4. 장단점................................................................................................................ 13
2.4.1. 장점............................................................................................................. 13
2.4.2. 단점............................................................................................................. 14
2.5. 세부 분류........................................................................................................... 15
2.5.1. 분류 트리 분석........................................................................................... 15
2.5.2. 회귀 트리 분석........................................................................................... 15
2.6. 응용 사례........................................................................................................... 15
2.6.1. 마케팅......................................................................................................... 15
3. 신경망(다중 퍼셉트론망)....................................................................................... 16
3.1. 정의.................................................................................................................... 16
3.1.1. 단층 퍼셉트론............................................................................................ 16
3.1.2. 다중 퍼셉트론............................................................................................ 20
3.2. 목적.................................................................................................................... 33
3.2.1. 분류와 숫자 예측....................................................................................... 33
3.3. 동작.................................................................................................................... 33
3.3.1. 기본 신경망 구조....................................................................................... 33
3.3.2. 정의 참조할 것........................................................................................... 34
3.4. 장단점................................................................................................................ 34
3.4.1. 장점............................................................................................................. 34
3.4.2. 단점............................................................................................................. 34
3.5. 세부 분류........................................................................................................... 35
3.5.1. 퍼셉트론망................................................................................................. 35
3.6. 응용 사례........................................................................................................... 35
3.6.1. 얼굴인식..................................................................................................... 35
3.6.2. 물체 인식.................................................................................................... 35
3.6.3. 음성 인식.................................................................................................... 35
3.6.4. 스팸 메일 분류........................................................................................... 35
3.6.5. 질병 분류.................................................................................................... 35
4. 서포트 벡터 머신(SVM)........................................................................................... 36
4.1. 정의.................................................................................................................... 36
4.1.1. 일반적으로, 서포트 벡터 머신은 분류 또는 회귀 분석에 사용 가능한 초평면(영어: hyperplane) 또는 초평면들의 집합으로 구성되어 있다.......................................................................................................... 36
4.2. 목적.................................................................................................................... 36
4.2.1. 패턴 인식, 자료 분석을 위한 지도학습 모델.......................................... 36
4.2.2. 분류와 회귀 분석을 위해 사용................................................................. 36
4.3. 동작.................................................................................................................... 36
4.3.1. 두 카테고리 중 어느 하나에 속한 데이터의 집합이 주어졌을 때, SVM 알고리즘은 주어진 데이터 집합을 바탕으로 하여 새로운 데이터가 어느 카테고리에 속할지 판단하는 비확률적 이진 선형 분류 모델을 만든다. 36
4.3.2. 만들어진 분류 모델은 데이터가 사상된 공간에서 경계로 표현되는데 SVM 알고리즘은 그 중 가장 큰 폭을 가진 경계를 찾는 알고리즘이다........................................................................................................... 36
4.3.3. SVM은 선형 분류와 더불어 비선형 분류에서도 사용될 수 있다. 비선형 분류를 하기 위해서 주어진 데이터를 고차원 특징 공간으로 사상하는 작업이 필요한데, 이를 효율적으로 하기 위해 커널 트릭을 사용하기도 한다. 36
4.4. 장단점................................................................................................................ 36
4.4.1. 장점............................................................................................................. 37
4.4.2. 단점............................................................................................................. 37
4.5. 세부 분류........................................................................................................... 37
4.5.1. 선형 SVM.................................................................................................... 37
4.5.2. 소프트 마진................................................................................................ 37
4.5.3. 비선형 분류................................................................................................ 38
4.6. 응용 사례........................................................................................................... 38
4.6.1. 이미지 분류................................................................................................ 38
4.6.2. 분류된 화합물에서 단백질을 90%까지 구분하는 의학 분야에서 유용하게 사용된다. 38
4.6.3. 손글씨의 특징을 인지할 수 있다............................................................. 38
5. 음수 미포함 행렬 분해(NMF:Non-negative matrix factorization)......................... 38
5.1. 정의.................................................................................................................... 38
5.1.1. 출처 : https://ko.wikipedia.org/wiki/음수_미포함_행렬_분해............... 38
5.1.2. 음수를 포함하지 않은 행렬 V를 음수를 포함하지 않은 행렬 W와 H의 곱으로 분해하는 알고리즘이다 38
5.1.3. 행렬이 음수를 포함하지 않는 성질은 분해 결과 행렬을 찾기 쉽게 만든다. 일반적으로 행렬 분해는 정확한 해가 없기 때문에 이 알고리즘은 대략적인 해를 구하게 된다. 음수 미포함 행렬 분해는 컴퓨터 시각 처리, 문서 분류, 음파 분석, 계량분석화학, 추천 시스템 등에 쓰인다................................................................................................. 38
5.2. 목적.................................................................................................................... 38
5.2.1. 커다란 정보를 특징과 계수들로 어림 잡아 분해하여 정보의 특징을 파악하는 데에 쓰인다. 39
5.3. 동작.................................................................................................................... 39
5.3.1. 정확한 음수 미포함 행렬 분해................................................................. 39
5.3.2. 유일성 유무 판단....................................................................................... 40
5.3.3. 군집 성질.................................................................................................... 40
5.4. 장단점................................................................................................................ 41
5.5. 세부 분류........................................................................................................... 41
5.5.1. 근사적인 음수 미포함 행렬 분해............................................................. 41
5.5.2. 볼록 음수 미포함 행렬 분해..................................................................... 41
5.5.3. 음수가 아닌 랭크 분해.............................................................................. 41
5.5.4. 여러 가지 비용 함수와 정형화 기법........................................................ 41
5.5.5. 온라인 NMF................................................................................................ 41
5.6. 응용 사례........................................................................................................... 41
5.6.1. 텍스트 마이닝............................................................................................ 41
5.6.2. 스펙트럼 데이터 분석............................................................................... 42
5.6.3. 생물 정보 공학........................................................................................... 42
5.6.4. 인터넷 거리 예측....................................................................................... 42
6. kNN............................................................................................................................ 42
6.1. 정의.................................................................................................................... 42
6.1.1. 분류나 회귀에 사용되는 비모수 방식이다............................................. 42
6.1.2. 두 경우 모두 입력이 특징 공간 내 k개의 가장 가까운 훈련 데이터로 구성되어 있다 42
6.1.3. 출력은 k-NN이 분류로 사용되었는지 또는 회귀로 사용되었는지에 따라 다르다 42
6.1.4. 분류, 회귀................................................................................................... 43
6.2. 목적.................................................................................................................... 43
6.2.1. 분류............................................................................................................. 43
6.3. 동작.................................................................................................................... 43
6.3.1. k개의 학습 데이터를 넣는다................................................................... 43
6.3.2. 새로운 데이터가 오면 학습 데이터와의 거리를 유클리드호제 같은 함수로 계산하여 새로운 데이터가 어디에 속하는지 판별하게 한다.......................................................................................................... 44
6.4. 장단점................................................................................................................ 44
6.4.1. 장점............................................................................................................. 44
6.4.2. 단점............................................................................................................. 44
6.5. 세부 분류........................................................................................................... 45
6.6. 응용 사례........................................................................................................... 45
6.6.1. 분류에서 많이 사용 _.............................................................................. 45
7. 군집화(Clustering).................................................................................................... 45
7.1. 정의.................................................................................................................... 45
7.1.1. 자율 학습-다른 것들은 주로 지도 학습이었으나 이거는 자율 학습인 점이 다르다. 45
7.1.2. sample 들에 대한 지식없이 similarity (유사도) 에 근거하여 cluster 들을 구분한다. 45
7.1.3. 클러스터링은 하나의 데이터를 여러개의 부분집합 (clusters) 으로 분할하는 것을 의미 45
7.2. 목적.................................................................................................................... 45
7.2.1. 구분하려고 하는 각 class에 대한 아무런 지식이 없는 상태에서 분류 (classify) 하는 것 45
7.3. 동작.................................................................................................................... 45
7.3.1. sample 들에 대한 지식없이 similarity (유사도) 에 근거하여 cluster 들을 구분한다. 46
7.3.2. 패턴 공간에 주어진 유한 개의 패턴들이 서로 가깝게 모여서 무리를 이루고 있는 패턴 집합을 cluster (군집) 이라하고 무리지워 나가는 처리 과정을 clustering 이라 한다............................................. 46
7.3.3. 클러스터링은 하나의 데이터를 여러개의 부분집합 (clusters) 으로 분할하는 것을 의미하며, 그때 각 부분집합에 있는 데이터는 몇가지의 공통된 특징 (trait)을 공유하는데, 그것은 몇가지 거리 측정법을 사용하여 유사도(similarity or proximity)를 계산함으로써 이루어진다...................................................................................... 46
7.4. 장단점................................................................................................................ 48
7.5. 세부 분류........................................................................................................... 48
7.5.1. K-means....................................................................................................... 48
7.5.2. Gaussian Mixture Model............................................................................. 48
7.6. 응용 사례........................................................................................................... 48
8. K-means..................................................................................................................... 48
8.1. 정의.................................................................................................................... 48
8.1.1. 출처:https://ko.wikipedia.org/wiki/K-평균_알고리즘............................. 48
8.1.2. 군집화 알고리즘 중 하나.......................................................................... 48
8.1.3. 비모수적(non-parametric)방법................................................................. 48
8.2. 목적.................................................................................................................... 49
8.2.1. n개의 d-차원 데이터 오브젝트 집합이 주어졌을 때 n개의 데이터 오브젝트들을 각 집합 내 오브젝트간 응집도를 최대로하는 k개의 집합 S으로 분할한다. 집합 내 오브젝트간 거리의 제곱합을 최소로하는 집합 S를 찾는 것이 이 알고리즘의 목표이다................................................................................................................... 49
8.3. 동작.................................................................................................................... 49
8.4. 장단점................................................................................................................ 49
8.4.1. 하위 토픽 1................................................................................................. 49
8.4.2. 단점............................................................................................................. 49
8.5. 세부 분류........................................................................................................... 49
8.6. 응용 사례........................................................................................................... 49
8.6.1. 어떤 알고리즘을 수행하기 전 데이터 전처리하는 용도로 많이 쓰임. 49
8.6.2. 이미지 분할................................................................................................ 50
8.6.3. 벡터 양자화................................................................................................ 50
8.6.4. 클러스터 분석............................................................................................ 50
9. 가우시안 혼합 모델(GMM)..................................................................................... 50
9.1. 정의.................................................................................................................... 50
9.1.1. 군집화 알고리즘 중 하나.......................................................................... 50
9.1.2. 모수적(non-parametric) 방법.................................................................... 50
9.1.3. 하위 토픽 3................................................................................................. 50
9.2. 목적.................................................................................................................... 50
9.2.1. 데이터들의 평균을 중심으로 하나의 그룹으로 뭉쳐있는 unimodel한 형태로 표현이 가능한데, 이러한 한계점을 완화시키기 위해 고안된 것이 가우시안 혼합모델이다........................................................... 50
9.3. 동작.................................................................................................................... 50
9.4. 장단점................................................................................................................ 50
9.5. 세부 분류........................................................................................................... 51
9.6. 응용 사례........................................................................................................... 51
10. 시뮬레이티드 어닐링........................................................................................... 51
10.1. 정의................................................................................................................. 51
10.1.1. 커다란 탐색공간에서 주어진 함수의 전역 최적점 (global optimum) 에 대한 훌륭한 근사치를 찾으려고 하는 전역최적화 (global optimization) 문제에 대한 일반적인 확률적 휴리스틱 (probabilistic heuristic) 접근방식이다. 51
10.2. 목적................................................................................................................. 51
10.3. 동작................................................................................................................. 51
10.4. 장단점............................................................................................................. 51
10.4.1. 하위 토픽 1............................................................................................. 51
10.4.2. 단점......................................................................................................... 51
10.5. 세부 분류........................................................................................................ 51
10.6. 응용 사례........................................................................................................ 51
1. 베이지안 분류기
1.1. 정의
1.1.1. 나이브 베이즈는 조건부 확률 모델이다.
1.2. 목적
1.2.1. 학습되면 자동으로 새로운 항목을 분류할 수 있다.
1.2.2. 나이브 베이즈 분류는 텍스트 분류에 사용됨으로써 문서를 여러 범주 (예: 스팸, 스포츠, 정치)중 하나로 판단하는 문제에 대한 대중적인 방법으로 남아있다.
1.3. 동작
1.3.1. 보아온 모든 특성과 특성이 특정 분류에 연계될 숫자 확률을 추적
1.3.2. 하나하나 예제를 받아가며 분류기는 학습된다.
1.3.3. 각 예제마다 분류기는 그 예제에서 특성과 분류기에 대한 확률을 갱신하고, 특정 분류에 관한 문서가 주어진 단어를 가질 확률을 생성한다.
예를 들어 문서 집합을 학습한 경우 확률 집합을 얻게 된다.
1.4. 장단점
1.4.1. 장점
다른 기법에 비해 나이브 베이지안 분류기의 가장 큰 장점은 큰 데이터 세트를 학습하고 질의하는 속도가 빠르다.
거대한 학습 세트조차도 보통 각 항목에 상대적으로 적은 수의 특성만 있으며, 항목 학습과 분류는 단지 이 특성들에 대한 확률을 수학적으로 다루면 된다.
중분 학습이 필요한 경우에 더 진가를 발휘한다 - 새로운 학습 데이터 조각을 사용해서 이전 학습 데이터를 사용하지 않고도 확률을 갱신할 수 있다.
의사결정트리나 지지벡터머신(SVM)과 같은 다른 기법들이 전체 데이터 세트를 즉시 필요로 하는 것과 달리 이코드는 베이지안 분류기를 한 번에 한 항목씩 학습시킨다.
증분학습 기능에 대한 이러한 지원은 새로운 메일 메시지가 들어왔을 때 항시 학습하고 빨리 갱신해야 하며, 받았던 모든 메일 메시지들에는 접근조차도 하지 않는 스팸 필터와 같은 응용에 매우 중요하다.
분류기가 실제로 학습한 것에 대한 해석이 다소 단순하다.
각 특성의 확률이 저장되었기 때문에 언제나 데이터베이스를 살펴볼 수 있고, 어떤 특성이 분류를 하는데 최고인지 확인할 수 있다.
이 정보는 다른 응용사례나 다른 응용의 시작점으로 사용될 수도 있다.
1.4.2. 단점
특성의 조합에 기반을 두어 변화하는 출력을 다룰 수 없다.
1.5. 세부 분류
1.5.1. 나이브 베이지안 분류기
1.6. 응용사례
1.6.1. 텍스트 분류
문서를 여러 범주(예: 스팸, 스포츠, 정치)중 하나로 판단
1.6.2. 자동 의료 진단 분야에서 응용
IBM Research Report
2. 의사결정트리 분류기
2.1. 정의
2.1.1. 결정 트리 학습법은 데이터 마이닝에서 일반적으로 사용되는 방법론으로, 몇몇 입력 변수를 바탕으로 목표 변수의 값을 예측하는 모델을 생성하는 것을 목표로 한다.
2.1.2. 결정 트리의 ’학습'은 학습에 사용되는 자료 집합을 적절한 분할 기준 또는 분할 테스트에 따라 부분 집합들로 나누는 과정이다. 이러한 과정은 순환 분할이라 불리는 방식으로 각각의 나눠진 자료 부분 집합에 재귀적으로 반복되며, 분할로 인해 더 이상 새로운 예측 값이 추가되지 않거나 부분 집합의 노드가 목표 변수와 같은 값을 지닐 때까지 계속된다. 이러한 하향식 결정 트리 귀납법(top-down induction of decision trees , TDIDT)은 탐욕 알고리즘의 한 예시이며, 데이터로부터 결정 트리를 학습하는 가장 일반적인 방법이다
2.2. 목적
2.2.1. 지도 분류 학습에서 가장 유용하게 사용되고 있는 기법 중 하나이다.
2.3. 동작
2.3.1.
2.3.2. 트리의 최상단 노드에서 시작해서, 노드의 조건에 대해 항목을 점검한다.
만일 항목이 조건을 만족하면 "예" 브랜치를 따라가고 그렇지 않다면 "아니오" 브랜치를 따라간다. 이 과정을 종점을 만날 때까지 계속하여 최종적으로 분류를 예측한다.
2.3.3. 상단에서부터 가능한 최적의 방법으로 각 단계에서 데이터를 분리할 속성들을 선택하면서 트리를 만든다.
2.4. 장단점
2.4.1. 장점
결과를 해석하고 이해하기 쉽다.간략한 설명만으로 결정 트리를 이해하는 것이 가능하다.
자료를 가공할 필요가 거의 없다.다른 기법들의 경우 자료를 정규화하거나 임의의 변수를 생성하거나 값이 없는 변수를 제거해야 하는 경우가 있다.
수치 자료와 범주 자료 모두에 적용할 수 있다.다른 기법들은 일반적으로 오직 한 종류의 변수를 갖는 데이터 셋을 분석하는 것에 특화되어 있다. (일례로 신경망 학습은 숫자로 표현된 변수만을 다룰 수 있는 것에 반해 관계식(relation rules)은 오직 명목 변수만을 다룰 수 있다.
화이트박스 모델을 사용한다. 모델에서 주어진 상황이 관측 가능하다면 불 논리를 이용하여 조건에 대해 쉽게 설명할 수 있다. (결과에 대한 설명을 이해하기 어렵기 때문에 인공신경망은 대표적인 블랙 박스 모델이다.)
안정적이다. 해당 모델 추리의 기반이 되는 명제가 다소 손상되었더라도 잘 동작한다.
대규모의 데이터 셋에서도 잘 동작한다. 방대한 분량의 데이터를 일반적인 컴퓨터 환경에서 합리적인 시간 안에 분석할 수 있다.
2.4.2. 단점
최적의 결정 트리를 학습하는 문제는 NP-완전 문제로 알려져 있고, 이는 최적화의 관점에서나 아니면 더 간단한 개념의 측면에서도 마찬가지이다. 결과적으로, 실질적인 결정 트리 학습 알고리즘은 각 노드에서의 부분 최적값을 찾아내는 탐욕 알고리즘 같은 휴리스틱 기법을 기반으로 하고 있다. 이런 알고리즘들은 최적 결정 트리를 알아낸다고 보장할 수는 없다. 부분 최적화에 의한 영향을 줄이기 위하여 이중 정보 거리(dual information distance, DID)와 같은 방법을 사용하기도 한다.
결정 트리 학습자가 훈련 데이터를 제대로 일반화하지 못할 경우 너무 복잡한 결정 트리를 만들 수 있다. (이를 과적합 문제라 한다.) 이 문제를 해결하기 위해서 가지치기 같은 방법을 사용하여야 한다.
결정 트리로는 배타적 논리합이나 패리티, 멀티플렉서와 같은 문제를 학습하기 어렵다. 이런 문제를 학습하기 위해서는 결정 트리가 엄청나게 커지기 때문에 문제의 표현 방법을 바꾸거나 통계 관련 학습법이나 귀납 논리 프로그래밍처럼 더 많은 것을 표현할 수 있는 학습 알고리즘을 사용하여야 한다.
각각 서로 다른 수의 단계로 분류가 가능한 변수를 포함하는 데이터에 대하여 더 많은 단계를 가지는 속성 쪽으로 정보 획득량이 편향되는 문제가 있다. 하지만 이 문제는 조건부 추론을 통해 해결이 가능하다.
데이터의 특성이 특정 변수에 수직/수평적으로 구분되지 못할 때 분류율이 떨어지고, 트리가 복잡해지는 문제가 발생한다. 신경망 등의 알고리즘이 여러 변수를 동시에 고려하지만 결정트리는 한 개의 변수만을 선택하기 때문에 발생하는 당연한 문제이다.
약간의 차이에 따라 (레코드의 개수의 약간의 차이) 트리의 모양이 많이 달라질 수 있다. 두 변수가 비슷한 수준의 정보력을 갖는다고 했을 때, 약간의 차이에 의해 다른 변수가 선택되면 이 후의 트리 구성이 크게 달라질 수 있다.
2.5. 세부 분류
2.5.1. 분류 트리 분석
예측된 결과로 입력 데이터가 분류되는 클래스를 출력한다.
2.5.2. 회귀 트리 분석
예측된 결과로 특정 의미를 지니는 실수 값을 출력한다. (예: 주택의 가격, 환자의 입원 기간)
2.6. 응용 사례
2.6.1. 마케팅
고객 행동 예측, 휴먼/이탈 예측, 등급변동 예측 등...
3. 신경망(다중 퍼셉트론망)
3.1. 정의
3.1.1. 단층 퍼셉트론
출처 : http://untitledtblog.tistory.com/27
입력 벡터르 두 부류로 구분하는 선형 분류기
용어
임계치(threashold)
어떠한 값이 활성화되기 위한 최소값
가중치(weight)
셉트론의학습 목표는 학습 벡터를 두 부류로 선형 분류하기 위한 선형 경계를 찾는 것이다. 가중치는 이러한 선형 경계의 방향성 또는 형태를 나타내는 값이다.
바이어스(bias)
선형 경계의 절편을 나타내는 값으로써, 직선의 경우는 y절편을 나타낸다.
net 값
입력값과 가중치의 곱을 모두 합한 값으로써, 기하학적으로 해석하면 선형 경계의 방정식과 같다.
활성함수(activation function)
뉴런에서 계산된 net값이 임계치보다 크면 1을 출력하고, 임계치보다 작은 경우에는 0을 출력하는 함수이다. 이 정의는 단층 퍼셉트론에서만 유요하며, 다층 퍼셉트론에서는 다른 형태의 활성함수를 이용한다.
뉴런(neuron)
인공신경망을 구성하는 가장 작은 요소로써, net값이 임계치보다 크면 활성화되면서 1을 출력하고, 반대의 경우에는 비활성화되면서 0을 출력한다.
뉴런의 구조
x : 입력 벡터의 값
w : 가중치
x0 : 바이어스 입력값
w0 바이어스 기울기
f : 활성함수
입력층과 출력층으로 구성된다. 입력층은 학습 벡터 또는 입력 베터가 입력되는 계층으로써, 입력된 데이터는 출력층 뉴런으로 전달되어 활성함수에 따라 값이 출력된다.
출력층의 크기가 1인 단층 퍼셉트론
알고리즘
단층 퍼셉트론 알고리즘
연산 정의
뉴런의 net값 계산
뉴런의 net값은 위와 같이 계산된다. 아래의 식에서 N은 입력 벡터의 크기를 나타낸다
활성함수
활성함수는 net값이 임계치보다 크면 뉴런의 출력값을 활성화하고, 그렇지 않으면 뉴런의 출력값을 비활성화하는 함수이다. 퍼셉트론에서 사용하는 가장 기본적인 활성함수는 계단 함수(step function)를 이용한다. 퍼셉트론에서 이용하는 계단 함수의 정의는 위와 같다. 활성함수로 계단함수를 이용할 때는 뉴런의 출력값은 0과 1만을 갖기 때문에 목표값과 출력값의 차이라는 개념보다는 목표값과 출력값의 일치, 불일치라는 개념을 이용한다.
학습 연산(Learning rule)
출력층 뉴런의 출력값과 목표값의 차이가 허용오차보다 크면 출력층 뉴런의 가중치를 조정해야한다. 가중치를 조정하는 식은 위와 같다
3.1.2. 다중 퍼셉트론
출처 : http://untitledtblog.tistory.com/35
단층 퍼셉트론은 선형 분리가 가능한 문제만 풀수 있기 때문에 다중 퍼셉트론망이 제안되었다.
은닉층 (Hidden Layer)
다층 퍼셉트론에서 은닉층은 서포트 벡터 머신 (support vector machine)에서의 커널 함수 (kernel function)와 비슷하다. 아래의 [그림 2]와 같이 은닉층은 입력층으로 표현되는 입력 벡터가 은닉층으로 표현되는 새로운 벡터로 변환되는 중간 계층이다.
다중 퍼셉트론 구조
2차원 평면인 지도상에서 한 구역을 선 하나로 나머지 구역과 분리하는 것이 불가능했지만, 3차원 구로 표현되는 지구본에서는 한 구역을 평면 하나로 나머지 구역과 분류하는 것이 가능해진다. 은닉층은 선형 분리가 불가능했던 데이터를 새로운 공간으로 사상 (morphism 또는 mapping)함으로써 선형 분리가 불가능했던 데이터를 선형 분리가 가능하도록 변환한다.
2차원 평면에서의 선형 분리(좌), 3차원 평면에서의 선형 분리(우)
다층 퍼셉트론의 동작
다층 퍼셉트론은 단층 퍼셉트론에 은닉층을 추가한 형태로써 입력층에서 전달되는 출력값이 은닉층으로 전달되고, 은닉층의 출력값이 출력층으로 전달되는 구조이다. 하나의 학습 벡터는 아래의 그림[학습 벡터의 구조]과 같이<입력값, 목표값>의 쌍으로 구성된다. 단층 퍼셉트론처럼 다층 퍼셉트론에서도 마지막에 계산되는 출력층의 출력값과 학습 벡터의 목표값을 비교하여 출력값과 목표값의 차이가 허용 오차보다 크면 가중치를 학습 규칙에 따라 조정한다.
학습 벡터의 구조
알고리즘
다중 퍼셉트론 알고리즘
연산 정의
뉴런의 net값 계산
각 뉴런의 net값은 아래와 같이 계산된다. 아래의 식에서 N은 입력 벡터의 크기, x는 입력 벡터의 입력값, w는 가중치를 나타낸다.
활성함수
활성함수는 net값이 임계치 (threshold)보다 크면 뉴런의 출력값을 활성화하고, 그렇지 않으면 뉴런의 출력값을 비활성화하는 함수이다. 단층 퍼셉트론과 다르게, 다층 퍼셉트론에서는 비선형적인 출력값을 얻기 위해 활성함수로 시그모이드 함수 (sigmoid function)를 이용한다. 다층 퍼셉트론에서 활성함수의 정의는 아래와 같다. 아래의 식에서 f(net)이 뉴런의 실질적인 출력값이 된다.
학습 규칙 (Learning rule)과 역전파 (Backpropagation)
다층 퍼셉트론에서는 입력층-은닉층과 은닉층-출력층의 가중치를 모두 학습 해야 한다. 기존의 단층 퍼셉트론에서는 목표값과 실제 출력값의 차이를 이용하여 가중치를 학습했지만, 다층 퍼셉트론에서는 은닉층의 목표값을 정의할 수가 없다. 따라서, 다층 퍼셉트론에서는 출력층의 오차에 의해 전파되는 은닉층의 오차를 이용하여 은닉층의 가중치를 조정한다. 이러한 일련의 과정은 신경망의 처리 방향과는 반대로 이루어지기 때문에 역전파(backpropagation)라고 한다.
다층 퍼셉트론의 학습 규칙을 정의하기 위한 접근 중 하나로, gradient-descent method를 이용하여 delta rule을 유도하는 방법이 있다. 이 내용은 대학교 미분방적식 수준의 지식과 많은 수학적 전개를 필요로 하기 때문에 이 글의 마지막 부분에 따로 설명한다. 이 부분에서는 최종적으로 계산된 출력층과 은닉층의 학습 규칙에 대해서만 설명하도록 한다. 이 글에서 이용되는 기호는 모두 아래의 [표 1]을 따른다.
학습 규칙 정의에 이용되는 기호
n번째 학습 벡터에 대한 k번째 출력층 뉴런의 j번째 가중치에 대한 학습 규칙
n번째 학습 벡터에 대한 j번째 은닉층 뉴런의 i번째 가중치 학습 규칙이다. K는 출력층의 크기이다.
학습 규칙에 대한 수학적 전개
이 부분에서는 은닉층과 출력층의 가중치에 대한 학습 규칙을 수학적으로 전개하는 방법론 중 하나를 소개한다. 아래의 전개 과정은 gradient-descent method를 이용하여 delta rule을 유도하는 방식으로 다층 퍼셉트론의 학습 규칙을 수학적으로 전개한 것이다.
Delta Rule의 유도
Delta rule은 최적화 방법의 하나로써, 역전파 알고리즘을 유도할 때는 목표값과 출력값의 차이를 최소화하기 위해 이용된다. 아래의 [식 3]은 전체 학습 벡터에 대한 오차의 총합을 나타낸다. E는 오차이고 N은 학습 벡터의 개수, K는 출력층의 크기 (학습 벡터의 목표값 크기)이다.
각각의 학습 벡터에 대한 오차에 합성함수의 연쇄 법칙 (chain rule)을 적용하면 아래의 [식 5]를 정의할 수 있으며,
[식 4]에 의해 n번째 학습 벡터에 대한 오차를 k번째 출력층의 출력값으로 편미분한 식은 [식 6]과 같이 전개되고, 그 결과를 그리스 문자 델타로 정의한다.
또한, net값의 정의로부터 k번째 출력층 뉴런에 대한 아래의 [식 7]이 정의된다.
[식 5]와 [식 6, 8]에 의해 하나의 학습 벡터에 대한 가중치의 변화량은 [식 9]와 같이 정의된다.
그러나 이는 모든 학습 벡터에 대해 한번의 학습이 끝날 때까지 가중치를 변화시키지 않는 경우에만 유효하며, 각 학습 벡터마다 가중치를 조정하면 다음 학습 벡터에 대한 가중치의 변화량에 영향을 준다. 그러나 학습률을 충분히 작게하면 이러한 오차는 무시할 수 있다.
출력층에 대한 Delta Rule의 일반화
앞에서 유도한 delta rule을 일반화하여 다층 퍼셉트론의 학습 규칙을 정의하는 방법을 서술한다. [식 10]과 같이 오차 E를 가중치에 대해 편미분한 식을 합성함수의 연쇄법칙을 이용하여 전개한다. 아래의 [식 10]은 n번째 학습 벡터에 대해 k번째 출력층 뉴런의 j번째 가중치를 조정하기 위한 전개식이다.
다음으로, n번째 학습 벡터에 대한 k번째 출력층 뉴런의 델타는 아래의 [식 12]와 같이 정의된다.
[식 11, 12]를 통해 아래의 [식 13]을 유도할 수 있다. [식 13]을 해석하면, 오차를 감소시키기 위해서는 가중치의 변화량과 δnkznj가 비례해야 함을 알 수 있다.
즉, n번째 학습 벡터에 대한 출력층의 k번째 뉴런의 j번째 가중치의 변화량을 [식 14]와 같이 계산하면 오차 E를 감소시킬 수 있다. [식 14]의 비례 상수 η는 학습률로 정의된다.
이러한 수학적 전개의 목표는 델타를 계산 가능한 형태로 변형하는 것이다. 따라서, [식 12]에 합성함수의 연쇄법칙을 적용하여 [식 15]로 변형한다.
[식 15]에서 우변의 첫 번째 항은 오차의 정의로부터 [식 16]으로 변형된다.
[식 16]에서 우변의 두 번째 항은 활성함수의 정의로부터 [식 17]로 변형된다.
그러므로, 출력층의 델타는 [식 18]과 같이 계산될 수 있다.
따라서, 다층 퍼셉트론의 n번째 학습 벡터에 대한 k번째 출력층 뉴런의 j번째 가중치의 학습 규칙은 [식 19]와 같다.
이 글에서는 시그모이드 함수를 활성함수로 이용하였으므로, 활성함수를 통해 출력된 값을 net값으로 미분하면 아래의 [식 20]과 같은 결과를 얻는다.
시그모이드 함수를 활성함수로 이용하는 다층 퍼셉트론에서 출력층 뉴런의 학습 규칙은 [식 21]과 같다. 이는 [식 1]과 같다.
은닉층에 대한 delta rule의 일반화
은닉층은 목표값을 정의할 수 없으므로 은닉층의 오차인 R을 계산할 수 없다. 따라서, 은닉층에서는 출력층의 오차를 역전파하여 가중치를 조정한다. 은닉층의 학습 규칙을 유도할 때는 j번째 은닉층 뉴런의 델타를 계산하기 위해 [식 15]에서 우변의 첫 번째 항을 아래와 같이 변형한다.
그러므로, n번째 학습 벡터에 대한 j번째 은닉층 뉴런의 델타는 [식 22]와 같다.
은닉층의 델타를 유도하였으므로, 은닉층의 델타를 [식 14]에 대입하여 은닉층의 가중치를 조정한다.
댓글