강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

김형태님의 프로필 이미지
김형태

작성한 질문수

[개정판] 파이썬 머신러닝 완벽 가이드

잠재요인 기반의 협업필터링 이해와 경사하강법을 이용한 행렬 분해

질문입니다.

해결된 질문

작성

·

172

0

비전공자라서 이해가 안되서 질문드립니다..ㅠㅠ

SVD와 경사하강법은 이전 수업을 통해서 익혔는데 

SVD에서 missing value가 있는데 왜 경사하강법을 통해 그 값을 구하는 건가요??

svd는 행렬이고 경사하강법은 차원적 의미 아닌가요?...

답변 1

0

권 철민님의 프로필 이미지
권 철민
지식공유자

안녕하십니까,

SVD 로 행렬을 분해하려면 원래 원본 행렬에 Missing Value가 있으면 안됩니다.

그래서 SVD와 같은 행렬 분해 기법을 경사하강법으로 대신 구현하는 것입니다.

경사하강법은 최적 값을 찾기 위한 하나의 기법이므로 어떤 문제든지 적용이 가능합니다.

다만 이를 위해서는 최적값을 찾기위한 올바른 비용함수(예를 들어 실제값과 예측값이 차이를 계산하는등)가 필요하고, 이 비용함수만 잘 설계되어 있다면 어떤 최적화도 가능한게 경사하강법입니다.

여기서는 경사 하강법을 이용하여 분해된 행렬이 원본 행렬과 최소 차이가 나도록 계속 반복수행해서 최소값이 나오는 그 시점의 분해 행렬을 추출한 것입니다.

감사합니다.

김형태님의 프로필 이미지
김형태

작성한 질문수

질문하기