SlideShare a Scribd company logo
1 of 32
Deep learning
추천 시스템
AutoRec
추천 시나리오
사용자의 개인 취향을 분석한다
사용자가 좋아할 만한 컨텐츠를 찾는다.
1. 사용자의 개인 취향을 분석
한다
• 사용자가 높은 점수를 부여한 컨텐츠들의 특징을 분석하여
비슷한 내용을 가진 컨텐츠를 추천한다. (내용 기
반 추천 )
• 사용자와 비슷한 취향을 가진 다른 사용자가 선택한 컨텐츠
를 추천한다 (협업 필터링
추천)
협업 필터링
類類相從(유유상종) : 끼리끼리 모인다.
User 1 이 item 5에 몇점을 부여할까 ?
비슷한 정도는 어떻게 알수 있
을까 ?
피어슨 상관계수
코사인 유사도
–Soonmok Kwon
“공식은 어렵고 그림은 쉽다”
피어슨 상관계수 코사인 유사도
상품 X [2, 3]
상품 Y [1, 3]
지금까지 배운 것
추천 시스템
내용 기반 추천 협업 필터링 추천
코사인 유사도 피어슨 상관계수
공식을 이용한 계산을 통해
취향이 비슷한 유저를 찾아서 그 유저가 선택한 것을 추천한다.
우리는 딥러닝으로 해보
자!!
–Soonmok Kwon
“딥러닝 모델은 간단히 말해서 블랙박스이다”
인공신경망이란?
인공신경망이란?
Y = Ax + B
예시
12
8
7
11
12
0.2
0.000001
0.6
0.1
평수
방 개수
우편 번호
(집위치)
수입
5.2
0.7
1.52
0.6
0.2
0.2
파란색이 인공 신경망이 학습하는 가중치!
(y = ax + b)
1억 5천 2억
Backpropagation
평수 : 25
방 개수 : 4
우편번호 : 445-112
수입 : 100만원
예측 집값 : 1억 5000 만원
데이터 : (평수, 방개수, 우편번호, 수입)
라벨 : 집값
실제 집값 : 2억
Error : 5000만원
Auto Encoder 란?
Deep learning 을 사용하여 Encode, Decode 시키는것
왜 이런것을 쓸까?
• Auto Encoder 가 데이터를 가장 적은 차원의 벡터로 표현
하도록 강요한다. (데이터의 중요한 것만 캐치)
• Denoising 을 하기 위해. (쓸데없는 값 무시하기)
차원 감소 예시
4차원
3차원
Denoising 예시
지금까지 배운 것
딥러닝 모델은
블랙박스다
블랙박스 안을 까보니
인공신경망으로 되어있더라
인공신경망은
Wx + b와
예측값 - 정답 차이로
학습을 하더라.
인공신경망으로
Auto Encoder를
만들수 있더라.
Auto Encoder로
차원축소, Denoising를
할수 있더라.
추천 시스템에 배운 내용을 적용해 봅시
다.여러 유저들의 영화 별점 데이터가 있습니다.
새로운 유저 - 영화 행렬을 만듭니다.
쇼생크탈출 대부 매트릭스
아무개 5 2
홍길동 1 5
권순목 3 4
Socc 3 3
유저가 시중에 나와있는 모든 영화에 평점을 달지 않으므로 빈 공간이 존재합니다.
영화 평점 행렬을 데이터 셋으로 봅니다.
5 2 1 2 4 5 1 2 2 5 1 2
2 4 5 5 1 2
5 1 2 2 5 1 1 2 3 3 4
5 2 1 2 4 5 1 2 2 5 1 2
2 4 5 5 1 2
5 1 2 2 5 1 1 2 3 3 4
5 2 1 2 4 5 1 2 2 5 1 2
2 4 5 5 1 2
5 1 2 2 5 1 1 2 3 3 4
5 3 2 4 1 2 4 2 5 4 1 2 4 2 2 5 5 1 3 2
5 2 4 4 2 1 2 3 5 5 5 5 5 5 1 4 4 2 2 1
5 2 1 1 2 2 4 5 4 5 3 1 1 4 2 2 3 3 3 4
Batch
갑자기 Batch?
딥러닝에는 많은 데이터를 학습용으로 사용
많은 데이터를 한번에 학습시킬 경우
메모리가 터짐
한번에 너무 많은 데이터를 학습시키면
학습 결과도 안좋음
+
많은 데이터중 샘플링 하여 학습시키는 것을 반복하자
Ex) 10000 개 데이터를 100개씩 100번 학습 시키자!
이제 딥러닝 모델을 고안해 봅시다.
이제 딥러닝 모델을 고안해 봅시다.
왜 갑자기 빈자리가 차는거야?!!
Denoising 예시
Training 시 대조할 라벨은 ??
12
8
7
11
12
0.2
0.000001
0.6
0.1
평수
방 개수
우편 번호
(집위치)
수입
5.2
0.7
1.52
0.6
0.2
0.2
1억 5천 2억
예측값 정답
Masking 전략
5 M 1 M 4 5 1 2 M 5 1 2
2 4 5 M 1 M
5 1 2 M 5 M 1 2 3 M 4
5 M 1 M 4 5 1 2 M 5 1 2
2 4 M 5 1 2
5 1 M 2 5 M 1 2 M 3 4
M 2 1 M 4 5 1 2 M 5 1 2
2 4 5 M 1 2
5 1 2 2 5 1 1 2 3 M 4
5 2 1 2 4 5 1 2 2 5 1 2
2 4 5 5 1 2
5 1 2 2 5 1 1 2 3 3 4
5 2 1 2 4 5 1 2 2 5 1 2
2 4 5 5 1 2
5 1 2 2 5 1 1 2 3 3 4
5 2 1 2 4 5 1 2 2 5 1 2
2 4 5 5 1 2
5 1 2 2 5 1 1 2 3 3 4
Training dataset
Full datasetDecoded dataset
5 4 2 3 1 2 4 2 5 5 1 1 2 2 2 5 5 1 4 2
4 2 1 4 3 3 3 2 5 5 3 2 4 3 1 4 2 2 4 4
5 2 1 5 2 2 2 5 1 2 3 1 1 5 2 4 3 3 3 4
5 3 2 1 1 2 4 4 5 3 1 2 2 2 2 5 4 1 5 2
5 2 2 4 4 3 3 2 5 5 4 4 1 2 1 5 4 2 1 2
5 1 1 4 2 2 3 5 2 2 2 1 1 5 2 3 3 3 3 4
5 2 2 3 1 2 4 5 5 4 1 4 4 2 2 5 3 1 2 2
2 2 1 4 4 1 2 5 5 5 2 4 4 3 1 2 4 2 5 4
5 5 1 4 2 2 2 5 1 4 5 1 1 4 2 2 3 3 3 4
5 3 1 3 4 5 1 2 2 5 1 2
2 4 5 5 1 3
5 1 2 2 5 1 1 2 3 3 4
5 2 1 2 4 5 1 2 2 5 1 2
2 4 5 5 1 2
5 1 2 2 5 1 1 2 3 3 4
4 2 1 3 4 5 1 2 2 5 1 2
2 4 5 4 1 2
5 1 2 2 5 1 1 2 3 4 4
Masked generated dataset
Rating - Rating = error
학습을 완료한뒤 추천 방식
5 M 1 M 4 5 1 2 M 5 1 2
2 4 5 M 1 M
5 1 2 M 5 M 1 2 3 M 4
5 M 1 M 4 5 1 2 M 5 1 2
2 4 M 5 1 2
5 1 M 2 5 M 1 2 M 3 4
M 2 1 M 4 5 1 2 M 5 1 2
2 4 5 M 1 2
5 1 2 2 5 1 1 2 3 M 4
Training dataset
Decoded dataset
5 4 2 3 1 2 4 2 5 5 1 1 2 2 2 5 5 1 4 2
4 2 1 4 3 3 3 2 5 5 3 2 4 3 1 4 2 2 4 4
5 2 1 5 2 2 2 5 1 2 3 1 1 5 2 4 3 3 3 4
5 3 2 1 1 2 4 4 5 3 1 2 2 2 2 5 4 1 5 2
5 2 2 4 4 3 3 2 5 5 4 4 1 2 1 5 4 2 1 2
5 1 1 4 2 2 3 5 2 2 2 1 1 5 2 3 3 3 3 4
5 2 2 3 1 2 4 5 5 4 1 4 4 2 2 5 3 1 2 2
2 2 1 4 4 1 2 5 5 5 2 4 4 3 1 2 4 2 5 4
5 5 1 4 2 2 2 5 1 4 5 1 1 4 2 2 3 3 3 4
코딩할때 유의할 점
References
http://users.cecs.anu.edu.au/~akmenon/papers/autorec/autorec-paper.pdf
https://github.com/npow/AutoRec
github.com/Soonmok/2018-AI-Study-Seminar/blob/master/paper_implement/AutoRec/READ

More Related Content

Similar to Recommendation with deep learning

Spark & Zeppelin을 활용한 머신러닝 실전 적용기
Spark & Zeppelin을 활용한 머신러닝 실전 적용기Spark & Zeppelin을 활용한 머신러닝 실전 적용기
Spark & Zeppelin을 활용한 머신러닝 실전 적용기Taejun Kim
 
Peopleplus hr session(2) people analytics, start today
Peopleplus hr session(2) people analytics, start todayPeopleplus hr session(2) people analytics, start today
Peopleplus hr session(2) people analytics, start todayYoungchan Jo
 
2014-2018년 기말시험 정답표
2014-2018년 기말시험 정답표2014-2018년 기말시험 정답표
2014-2018년 기말시험 정답표Lee Sang-Ho
 
Python machine learning_chap04_2
Python machine learning_chap04_2 Python machine learning_chap04_2
Python machine learning_chap04_2 PartPrime
 
Python machine learning Chapter 04 - PART2
Python machine learning Chapter 04 - PART2Python machine learning Chapter 04 - PART2
Python machine learning Chapter 04 - PART2Young Oh Jeong
 
Ch.5 machine learning basics
Ch.5  machine learning basicsCh.5  machine learning basics
Ch.5 machine learning basicsJinho Lee
 
Standardization of item_data_by_ai_decryption
Standardization of item_data_by_ai_decryptionStandardization of item_data_by_ai_decryption
Standardization of item_data_by_ai_decryptionJihyunSong13
 
2014-2018년 출석수업대체시험 정답표
2014-2018년 출석수업대체시험 정답표2014-2018년 출석수업대체시험 정답표
2014-2018년 출석수업대체시험 정답표Lee Sang-Ho
 
GNMT로 알아보는 신경망 기반 기계번역
GNMT로 알아보는 신경망 기반 기계번역GNMT로 알아보는 신경망 기반 기계번역
GNMT로 알아보는 신경망 기반 기계번역Byeong il Ko
 
파이썬으로 익히는 딥러닝 기본 (18년)
파이썬으로 익히는 딥러닝 기본 (18년)파이썬으로 익히는 딥러닝 기본 (18년)
파이썬으로 익히는 딥러닝 기본 (18년)SK(주) C&C - 강병호
 
Python을 활용한 챗봇 서비스 개발 2일차
Python을 활용한 챗봇 서비스 개발 2일차Python을 활용한 챗봇 서비스 개발 2일차
Python을 활용한 챗봇 서비스 개발 2일차Taekyung Han
 

Similar to Recommendation with deep learning (14)

Spark & Zeppelin을 활용한 머신러닝 실전 적용기
Spark & Zeppelin을 활용한 머신러닝 실전 적용기Spark & Zeppelin을 활용한 머신러닝 실전 적용기
Spark & Zeppelin을 활용한 머신러닝 실전 적용기
 
Peopleplus hr session(2) people analytics, start today
Peopleplus hr session(2) people analytics, start todayPeopleplus hr session(2) people analytics, start today
Peopleplus hr session(2) people analytics, start today
 
2014-2018년 기말시험 정답표
2014-2018년 기말시험 정답표2014-2018년 기말시험 정답표
2014-2018년 기말시험 정답표
 
Soma search
Soma searchSoma search
Soma search
 
Python machine learning_chap04_2
Python machine learning_chap04_2 Python machine learning_chap04_2
Python machine learning_chap04_2
 
Python machine learning Chapter 04 - PART2
Python machine learning Chapter 04 - PART2Python machine learning Chapter 04 - PART2
Python machine learning Chapter 04 - PART2
 
Ch.5 machine learning basics
Ch.5  machine learning basicsCh.5  machine learning basics
Ch.5 machine learning basics
 
Standardization of item_data_by_ai_decryption
Standardization of item_data_by_ai_decryptionStandardization of item_data_by_ai_decryption
Standardization of item_data_by_ai_decryption
 
서울 R&D 캠퍼스 자연어 수업자료
서울 R&D 캠퍼스 자연어 수업자료서울 R&D 캠퍼스 자연어 수업자료
서울 R&D 캠퍼스 자연어 수업자료
 
파이썬을 활용한 자연어 분석
파이썬을 활용한 자연어 분석파이썬을 활용한 자연어 분석
파이썬을 활용한 자연어 분석
 
2014-2018년 출석수업대체시험 정답표
2014-2018년 출석수업대체시험 정답표2014-2018년 출석수업대체시험 정답표
2014-2018년 출석수업대체시험 정답표
 
GNMT로 알아보는 신경망 기반 기계번역
GNMT로 알아보는 신경망 기반 기계번역GNMT로 알아보는 신경망 기반 기계번역
GNMT로 알아보는 신경망 기반 기계번역
 
파이썬으로 익히는 딥러닝 기본 (18년)
파이썬으로 익히는 딥러닝 기본 (18년)파이썬으로 익히는 딥러닝 기본 (18년)
파이썬으로 익히는 딥러닝 기본 (18년)
 
Python을 활용한 챗봇 서비스 개발 2일차
Python을 활용한 챗봇 서비스 개발 2일차Python을 활용한 챗봇 서비스 개발 2일차
Python을 활용한 챗봇 서비스 개발 2일차
 

Recommendation with deep learning