• 카테고리

    질문 & 답변
  • 세부 분야

    딥러닝 · 머신러닝

  • 해결 여부

    해결됨

질문입니다.

21.02.05 12:22 작성 조회수 95

0

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

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

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

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

답변 1

답변을 작성해보세요.

0

안녕하십니까,

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

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

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

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

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

감사합니다.