let us not love with words or tongue but actions and truth.

머신러닝 6

오토 인코더

오토 인코더에 대해서 오늘은 알아보겠습니다. 오토인코더는 5가지 특징을 가집니다. 1. 비지도학습이다. 2. 입력노드와 출력노드가 유사하게 학습하는 모델이다. (입력노드 수 = 출력노드 수) 3. 은닉층의 노드개수(m) < 입력층의 노드개수(d) 4. 은닉층은 입력데이터의 핵심정보를 표현한다. 5. 활성함수에 따라 비선형성, 선형성 모두 가질 수 있다. 오토인코더의 목적함수를 수식으로 표현해보겠습니다. X = { 𝐱1, 𝐱2, ⋯ , 𝐱𝑛 } 일 때, 알아내야 하는 매개변수 f 와 g라는 매핑함수 입니다. 그렇다면 목적함수는 아래와 같이 표현될 수 있습니다. 참고로, 선형 매핑을 사용하고, 은닉층의 개수가 입력층의 개수보다 작으며, 위의 식을 목적함수로 사용한다면, 오토인코더가 찾아주는 가중치는 PCA가..

2차 미분을 이용한 최적화

SGD와 같이 1차 미분을 통한 최저점을 찾는 방법에 대해서는 성능이 느리다는 단점이 있습니다. 지그재그로 경사를 내려가며 최저점을 찾기 때문에, 매우 속도가 느린 것이지요. 그 것의 대안으로 2차 미분을 이용한 최적화 방법이 있습니다. 2차 미분은 아래 그림의 빨간선과같이 더 빠른 최저점을 찾아갈 수 있는 대안을 제시합니다. 2차 미분을 활용하여, 매개변수를 업데이트 하는 수식은 아래와 같지요. 여기서 H(Hessian)은 2번 미분한 값입니다. 2차 미분의 가장 큰 단점은 아래와 같습니다. 1. 과다한 계산량 필요 2. 2차 미분이 불가능한 수식들이 존재 이 문제점을 해결하기 위해, 켤레그레디언트 방법과 유사뉴턴 방법이 등장했습니다. 왼쪽 그림은 SGD방법이고 오른쪽은 켤레그레디언트 방법입니다. SG..

규제 기법2 - Augmentation, Dropout, 앙상블

오늘은 규제기법 중에, Data Augmentation, Dropout, 앙상블 기법에 대해서 정리해보고자 한다. 여기서 Dropout은 지난번에 잠깐 언급한 분류에 의하면 명시적 기법에 속하며, Augmentation과 앙상블은 암시적 기법에 속한다. 규제 분류를 참고하려면 아래 내용에서 확인이 가능합니다. https://sarah0518.tistory.com/107 규제 기법 - Ridge & Lasso 규제 기법에는 크게 아래와 같은 2가지 종류가 있다. 1. 명시적 규제: 가중치 감쇠나 Dropout처럼 목적함수나 신경망 구조를 직접 수정하는 방식 2. 암시적 규제: 조기멈춤, 데이터 증대, 잡음 추가, sarah0518.tistory.com 그럼 다시 다양한 규제기법들에 대해 소개를 해보자. 1..

6가지의 activation function과 7가지의 optimizer

1. 5가지의 activation function에 대한 정리 a. Step Function 이제는 거의 사용하지 않음 b. Sigmoid Function Gradient Descent가 발생할 수 있음 c. tanh function sigmoid는 0~1값을 갖지만, tanh는 -1~1의 값을 가지므로 변화폭이 더 큼 그러므로 sigmoid 함수보다는 기울기 소실이 적은 편임 d. ReLU f(x) = max(0, x) tanh과 같이 연산이 필요한 것이 아니라, 단순 임계값이므로 연산속도가 빠름 e. Leaky ReLU f(x) = max(ax, x) a는 일반적으로 0.01값을 가짐 f. softmax function 2. 7가지의 Optimizer 방법 optimizer의 전체 흐름은 아래 표에 ..

로그우도 목적 함수와 multi-class classification

지난번 정리 내용에서는 binary-class classification일 때 사용하는 cross-entroypy 목적함수를 설명했었다. 이번에는 multi-classification에서 사용하는 목적함수인 로그우도 목적함수와 softmax 활성함수(역시 multi-class classification에서 사용)에 대해 정리해보려고 한다. 우선 softmax 활성함수부터 설명해보자. 그림으로 설명하면 더 쉬울 것 같다. 이 그림을 설명해 보면 출력층에서 S1=2, S2=1.2, S3=4 라는 값이 나왔을 때 이것을 확률값으로 변경해주는 것을 생각해보자. 예를 들어, max에 표시된 것처럼 S1=0, S2=0, S3=1로 출력층의 값을 변화시켜 주면 총합은 1이 되며, 출력층을 통해 나온 결과는 가장 마지..

목적함수에 대한 정리

기본적으로 통계학에서 목적함수라하면 MSE를 가장 많이 사용했었다. Mean Squre Error로 오차의 제곱의 평균이다. 즉, 실제값과 예측값의 오차의 거리를 측정하여 그것의 평균을 가지고 목적함수를 사용한 것이다. 말이 목적함수이지만, 결국 이 목적함수를 줄이는게 성능을 높이는 것이라고 생각하면 된다. 특히 MSE를 회귀분석쪽에서 많이 사용했다고 한다면, Entropy는 분류쪽에서 많이 사용한다. 오늘은 Entropy 목적함수에 대해서 조금 자세히 살펴보고자 한다. 정보량을 놀람의 정도라고 생각을 해보자. 새로운 정보가 듣도 보도 못한 정보라면, 놀람의 정도는 증가하게 된다. 이걸 수식으로 표현하면 "놀람의 정도 = I(x)=-logP(x)" 라고 할 수 있는데, 왜 logP(x)인가에 대해서는 그..