티스토리 뷰
이 내용은 다크 프로그래머님의 http://darkpgmr.tistory.com/141 (벡터 미분과 행렬 미분) 내용을 보고 내용을 정리 한 수준입니다. 다크 프로그래머님의 내용과 같이 추가로 https://en.wikipedia.org/wiki/Matrix_calculus 위키피디아 내용도 참조하였습니다.
학부 시절에 배웠던 gradient 가 머신러닝을 하면서 이렇게 와 닿을 줄 몰랐습니다. x1, x2, x3 독립 변수를 가지는 f(x) 에 대하여 gradient 를 취하면 각 독립변수에 대한 미분 값을 구할 수 있습니다. ( 스칼라 미분을 벡터로 확장). 다음에 배우겠지만, vector 를 vector 로 미분하게 되면 jacobian 까지 확장 될 수 있습니다.
이제 추가로 matrix(행렬)과 vector, scala 에 대해서 일반적인 미분식을 사용하면 아래와 같이 정리 할 수 있습니다.
다크프로그래님의 말씀처럼, 정리하는 폼에 따라서 Numerator-layout notation(분자 우선 표현), Denominator-layout notation(분모 우선 표현) 2가지 종류에 따라서 numerator 은 행벡터로 , denominator 는 열벡터로 표현 할 수 있습니다.단순 표시하는 notation 에 따라 표현식이 달라질 수 있으나, 결과적으로 transpose 를 하면 서로 같은 내용이라는 걸 알 수 있습니다. 저도 혼동이 안가고자 모든 표현을 numerator 분자우선 표현으로 식을 정리하도록 하겠습니다.
* 볼드체 경우는 열벡터 (column vector)
* 대문자 경우는 행렬 (matrix)
|
Scala y |
Vector y (size m) |
Matrix Y (size m x n) |
Scala x |
|||
Vector x (size n) |
|||
Matrix X (size m x n) |
'머신러닝 > 기초' 카테고리의 다른 글
[ 기본 ] Neural network - feed forward (0) | 2017.06.30 |
---|---|
[ 과제 2 ] Gauss-Newton Method (0) | 2017.06.24 |
함수 최적화 - Gradient Descent 에 대해서 (0) | 2017.06.18 |
[ 과제 1 ] Gradient Descent (0) | 2017.06.16 |
선형회귀(linear regression)-최소자승법 (0) | 2017.04.26 |
- Total
- Today
- Yesterday
- Residual Block
- 캡처방지
- tensorflow serving
- dct
- DWT-DCT
- 네이버웹툰
- implementation
- DW
- flask serving
- numpy
- SvD
- Digital watermarking
- gPRC
- backpropagation
- keras
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |