2주차 - Mathematics for ML (2)
LG Aimers의 Module2-Mathematics for ML 2번째 리뷰시간이다.
저번시간 까지는 gradient descent와 SGD, Momentum까지 살펴 보았고
오늘은 convex에 대한 내용, 그리고 PCA에 대해 배웠다.
우선 저번시간에 gradient descent가 unconstrained opimization 문제인 것 까지 확인을 했는데,
그러면 이제 x에 제약이 주어져있는 constrained optimizaition 문제는 어떻게 해결해야하나에 대한 내용으로 시작된다.
이 해결방법이 Lagrange multipliers와 깊은 연관이 있었다. (여기서 calculus가...)
원래의 함수에 constrained function에 lagrange multiplier를 각각 곱해서 더한 lagrangian function L을 새로 정의한 다음, 이 L의 x에 대한 infimum D(그럼 D가 lagrange multipliers에 대한 함수)를 생각하는 식으로 진행 된다.
이 dual function D가 constrained optimal value P*의 lower bound가 되는 것 같다.
또, 이 D를 maximize하는게 best lower bound이고, 이 D는 언제나 convex하다는 사실도 배웠다.
그럼 이제 convex가 도대체 무엇인지에 대해 배우게 되는데,
convex set과 convex function에 대해 먼저 배웠다.
( convex set은 어떤 집합의 line segment에 의해 정의되고, convex function은 우리가 흔히 아는 볼록을 생각하면 쉬울 것 같다.)이 convex function의 좋은 점은 gradient가 0이 되는 지점이 f가 global minimization하는 지점이 같다는 점이고, 또 어떤 optimization 문제가 풀릴 것이냐 안 풀릴 것이냐의 문제는 f가 convex이냐 아니냐의 문제와 거의 동치라고 한다.
또 그 뒤에 여러 convex에 대한 내용과 KKT condition에 대해 배웠는데... 완전 압축된 강의 형식이라 그런지 건너띄는 부분이 많다고 느껴졌고 이해는 거의 하지 못했다.
그다음은 PCA에 대해 배웠는데,
엄청 유익했으면서 동시에 제대로 배우지 못해 아쉬움이 많이 남는 강의였다.
별로 중요하지 않는 열들을 빼 high dimensional data를 lower dimensional data로 바꿔주는데 이 때의 과정을 좀 자세히 배울 수 있었다.
간략하게 말을 하자면, standardization을 하고 -> 축소하고 싶은 차원의 개수 M에 대해, M-largest eigen value,vector를 구하고 그거에 대한 data covariance matrix를 구한다음 -> projection 시키고 -> standardization을 다시 원래대로 돌려주면 된다.
이 때 중요한 점은 PCA의 모든 과정이 linear 하다는 점인데, 때문에 이 PCA의 과정을 matrix로 다 표현이 가능하다고 한다.
제일 재밌게 들은 부분은 이 PCA의 어떤 숨겨진 의미? 같은 걸 교수님께서 설명해주셨는데,
결국 PCA가 하는 것은 data의 어떤 subspace를 찾는 것인데,
데이터를 그 subspace로 projection 시켰을 때 그것의 variance사 maximize되는 그런 low dimensional subspace를 찾는 것이 PCA가 하는 것이라고 한다.
뒤에 이 말에 대한 증명을 해주셨는데 전시간에 제대로 배우지 못했던 KKT condision이나 SVD 등등이 마구잡이로 막 나와 이해는 거의 하지 못했다. ㅋㅋㅋㅋㅋㅋㅋㅋ ㅠㅠㅠㅠㅠ (그래도.. 흐름을 따라가고 그 의미를 파악하는데는 매우 재미있게 들었으니...만족..)
