Computational Intelligence/Neural Networks

최소 평균 제곱법 (Least Mean Squares Method, Widrow-Hoff Learning) [첫번째]

초인로크 2016. 6. 20. 02:05
반응형

최초작성일:2016.6.20


아래의 그림에 대해, 점선안에 있는 관계도가 있다고 가정하자.

(뉴럴네트워크에서는, 사람의 신경 구조와 같이, 자극의 입력에 대한 출력 덩어리를 뉴런이라고 부른다.)


여기서는 세개의 입력에 대해서, 세개의 가중치를 적용한 뒤에 하나의 출력을 내 보낸다.

이와 같은 구조에서의 "최소 평균 제곱법" 에 대한 알고리즘의 유도를 여기서 해 보려고 한다.

(내가 공부하면서 정리한 것이므로, 뭔가 부족 할 수도 있다... )




우선 학습 가중치를 갱신하기 위한 수식을 작성한다.


위와같이 가중치의 변화량은 현재(t)의 가중치w 에 한스텝 전(t-1)의 가중치 w를 빼 주는 것과 같다.

가중치를 조절하기 위해서 경사하강법을 이용해서 수식을 유도한다.

우리가 원하는 것은, 총 평균 제곱의 합을 최소하 하는 값이다.

(경사하강법은 내 블로그의 [경사하강법 (Steepest descent method, 最急降下法)]을 참조 하시길 바란다.)


여기서 제일 오른쪽의 편미분 항을 따로 떼어내서 계산을 해 주면, 아래와 같이 계산이 가능하다.


위의식을 계속해서 계산하면,


                   

과 같이 된다.

따라서, 제일 처음에 작성한 수식, 델타w에 대한 계산식에 대입을 해 주면 아래와 같다.


알파(뮤) 값의 기능은 해를 찾는데 얼마만큼은 감도로 찾아내는가를 설정해 주는 것으로,

이 값이 너무 커 버리면 최적값 부근에서 정확한 값을 찾는다고 진동이 올 수도 있고,

너무 작아버리면 조금씩 밖에 진행이 안되므로 학습하는데 시간이 오래 걸릴 수 있다.


따라서, 이것을 가중치 갱신식으로 정리 해 주면,

위와같이 정리 할 수 있다.

바이어스 부분에는 위와 유사하게 아래의 식으로 나타 낼 수 있다.


이것이 LMS 알고리즘의 기본이 되는 가중치 갱신에 대한 식이 된다.

아래의 링크에 프로그래밍에 대한 설명을 남겨 놓았으니, 참고하고 싶으신 분은 따라가 주길 바란다.


최소 평균 제곱법 (Least Mean Squares Method, Widrow-Hoff Learning) [두번째]



여기에 작성하는 모든 포스팅 들은 스스로의 지식의 정리와, 지식의 공유 차원에서 정리한 것입니다.

학교의 레포트나 과제등은, 본인 스스로가 공부를 해서 직접 제출 하도록 합시다.


반응형