식품 추천 애플리케이션을 개발한다고 가정해 보겠습니다. 사용자가 좋아하는 식사를 입력하면 앱에서 비슷한 식사를 추천함 확인할 수 있습니다. 머신러닝 (ML) 모델을 개발하려는 경우 이를 통해 음식 유사성을 예측할 수 있습니다. 이렇게 하면 추천(예: 팬케이크를 좋아하신다면 크레이프를 권장합니다.')
모델을 학습시키기 위해 5,000개의 인기 있는 데이터 세트를 보르시, 핫도그, 샐러드, 피자, 및 shawarma가 있습니다.
다음과 같은 meal
특성을 만듭니다.
원-핫 인코딩
각 식사 항목의 표현을 뜻합니다
희소 데이터 표현의 함정
이러한 원-핫 인코딩을 검토하다 보면 데이터 표현을 생성합니다.
- 가중치 수. 입력 벡터가 크다는 것은 입력 벡터가
가중치
신경망">
원-핫 인코딩에 M개 항목을 포함시키고
첫 번째 레이어에 노드가 존재한다면 모델은
해당 레이어의 MxN 가중치 가중치가 많으면 다음과 같은 문제가 발생합니다.
- 데이터 포인트 수. 모델에 가중치가 많을수록 모델 학습에 도움이 되는 효과적으로 학습시켜야 합니다
- 계산량. 가중치가 많을수록 더 많은 계산이 필요 모델을 학습시키고 사용할 수 있습니다 IT 지원 전문가로서의 역량을 사용할 수 있습니다
- 메모리 용량. 모델에 가중치가 많을수록 액셀러레이터가 필요합니다 확장 매우 어렵습니다
- 지원의 어려움 온디바이스 머신러닝 (ODML) 로컬 기기에서 ML 모델을 실행하려는 경우 모델을 더 작게 만드는 데 집중해야 하며 가중치 수를 줄일 수 있습니다.
- 벡터 간의 의미 있는 관계 부족. 벡터 값이 음식에 대한 원-핫 인코딩은 식품에 대한 유의미한 정보를 유사성도 있습니다. 수학적으로 색인 1('핫도그')은 더 높은 값이지만 색인 4999('shawarma')보다 색인 2에 가까운 개는 샐러드보다는 샤와르마 (육류와 빵을 모두 포함)와 더 비슷합니다.
이 모듈에서는 저차원인 임베딩을 만드는 방법을 알아봅니다. 희소 데이터의 표현을 사용하면 이러한 문제를 모두 해결할 수 있습니다.