본문 바로가기

데이터 다루기/신경망

(20)
[신경망] 4. 경사하강법 (Gradient Descent) (3) Momentum 안녕하세요, 오늘은 경사하강법 (Gradient Descent Method)의 문제점인 local minimum, plateau (평탄한 지점)에 빠지거나 수렴속도가 느리다는 단점을 해결하고자 나온 모멘텀 (Momentum)에 대해서 배워보도록 하겠습니다. 모멘텀은 경사하강법 (Gradient Descent Method) 통해 W가 이동하는 과정에서 일종의 '관성'을 부여하는 것입니다. 즉 W를 업데이트 할 때에 이전 단계의 업데이트 방향을 반영하는 것입니다. 따라서 위 그림처럼 Local Minimum 을 피할 수 있게 해주며, 이전 속도가 더 반영되므로 수렴속도도 빨라지게 됩니다. 하지만 Momentum에도 단점이 있는데, W를 업데이트 할 때마다, 과거에 이동했던 양을 변수별로 저장해야하므로 변수에..
[신경망] 3. 경사하강법 (Gradient Descent) (2) BGD, SGD 안녕하세요, 이번 포스팅에서는 신경망 (Neural network) 에서 오차를 줄이는 방법으로 경사하강법을 배우도록 하겠습니다. 우선 신경망에서 경사하강법의 원리를 살펴보도록 하겠습니다. Weight가 k+1번째로 업데이트 될 때, 업데이트 되기전 weight에 그 weight에서 손실 함수 (Loss function)을 감소시키는 방향 (-) 으로 그레디언트에 Learning rate를 곱한 만큼 업데이트합니다. Learning rate 는 하이퍼파라미터로 사람이 주관적으로 정해주어야하는 값 (0~1 사이)입니다. 이 때 너무 낮은 값을 선택하면, 위 그림과 같이 최소점까지 아주 조금씩 업데이트 되므로 수렴속도가 매우 오래걸립니다. 반면에 너무 큰 값을 선택하면, 업데이트가 너무 많이 되서 최소점으로..
[신경망] 2. 경사하강법 (Gradient Descent) (1) Adaline 안녕하세요, 이번 포스팅부터는 경사하강법에 대해서 배워보도록 하겠습니다. 경사하강법은 신경망 모델에서 오차를 최소화 시키는 방법입니다. 그중에서 가장 기초가 되는 단층 신경망 (Adaline) 에서의 오차를 최소화 시키는 방법에 대해서 배워보도록 합시다. Adaline 과 Perceptron 은 어떤 임계치에 대하여 그 값을 기준으로 선형 이진 분류를 한다는 공통점이 있습니다. 하지만 이 둘의 차이는 Perceptron은 에러를 계산할 때, 아웃풋의 클래스를 이용하지만, Adaline은 임계치 함수에 들어가기 전의 실수 값을 오차 계산에 사용합니다. 따라서 Adaline이 학습할 때에는 더 powerful 하게 분류에 대한 정보를 제공한다고 생각하시면 됩니다. 이제 Adaline의 오차를 계산해봅시다. ..
[신경망] 1. 퍼셉트론 안녕하세요. 오늘부터 신경망 (Neural network)를 포스팅해보려고 합니다. 최근에 4차 산업혁명에 의해 데이터 분석이 인기가 많아지고, 알파고의 영향으로 AI에 대한 관심이 많아졌는데요. AI중 딥러닝과 신경망은 원래 같은 개념이지만, 기존에 있던 신경망 이론을 더 획기적으로 다가오게 만들기 위해서 딥러닝이라는 단어를 만들었다고 합니다. 이번 포스팅에서는 신경망의 가장 기초가 되는 퍼셉트론이라는 개념에 대해서 알아보도록 하겠습니다. 퍼셉트론은 우리의 뇌에서 뉴런이 전기 신호 전달함으로써, 정보를 전달하는것을 본따서 만들었습니다. 퍼셉트론은 간단히 말해서, 다수의 입력 변수를 받아서 하나의 출력 변수로 반환합니다. 예를 들어서, 퍼셉트론에 입력변수가 들어오면 가중치와의 가중합을 구해서 정해진 임계..