개요
지난 시간에 이어 Coursera Machine Learning으로 기계학습 배우기 : week5 정리를 진행한다.
목차
해당 포스팅은 연재글로써 지난 연재는 아래의 링크를 참고한다.
- Coursera Machine Learning으로 기계학습 배우기 : week1
- Coursera Machine Learning으로 기계학습 배우기 : week2
- Coursera Machine Learning으로 기계학습 배우기 : week3
- Coursera Machine Learning으로 기계학습 배우기 : week4
글을 읽기에 앞서…
- 본글은 필자가 코세라 기계학습을 공부를 하는 과정에서 개념을 확고히 정리하기 위하는데 목적이 있다. (필자가 나중에 내용을 다시 찾아보기 위한 목적이 있다.)
- 코세라 강의 week 개수에 맞추어 포스팅을 진행할 예정이다.
- 코세라의 슬라이드에 한글 주석을 단것이 핵심으로 내용에서 글을 읽을 필요 없이 슬라이드 그림만으로 최대한 이해가 되게끔 하는데 목적이 있다.
- 수학은 한국의 고등수학을 베이스로 한다. 수학적 개념이 나올때 가급적 고등학교 수학을 베이스로 내용을 정리한다.
- 정리내용의 목차 구성을 코세라 강의와 동일하게 맞추고 또한 제목을 원문으로 둔다. (원본강의 내용과 정리 내용을 서로 서로 찾아보기 쉽게하기 위함이다.)
====================== 5강 ============================================
Cost Function and Backpropagation
Cost Function
Backpropagation Algorithm
Back Propagation의 또다른 이름은 Error-Backpropagation이다. 즉 에러를 역전파 하는 알고리즘이라는 뜻이다.
Backpropagation Intuition
Backpropagation in Practice
Implementation note: Unrolling Parameters
직접 옥타브로 실습하여 어떤 개념인지 구체적으로 이해해보자.
>> Theta1 = ones(10,11)
Theta1 =
1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1
>> Theta2 = 2*ones(10,11)
Theta2 =
2 2 2 2 2 2 2 2 2 2 2
2 2 2 2 2 2 2 2 2 2 2
2 2 2 2 2 2 2 2 2 2 2
2 2 2 2 2 2 2 2 2 2 2
2 2 2 2 2 2 2 2 2 2 2
2 2 2 2 2 2 2 2 2 2 2
2 2 2 2 2 2 2 2 2 2 2
2 2 2 2 2 2 2 2 2 2 2
2 2 2 2 2 2 2 2 2 2 2
2 2 2 2 2 2 2 2 2 2 2
>> Theta3 = 3*ones(1,11)
Theta3 =
3 3 3 3 3 3 3 3 3 3 3
>> thetaVec = [Theta1(:); Theta2(:); Theta3(:)];
>> size(thetaVec )
ans =
231 1
thetaVec에서 세타1으로 사용할 행렬을 reshape을 통해 추출할 수 있다.
>> reshape(thetaVec(1:110), 10, 11)
ans =
1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1