inflearn logo
강의

講義

知識共有

[改訂版] Python機械学習完全ガイド

Pythonコードを用いた傾斜降下法に基づく行列分解の実現と潜在的要因コラボレーションフィルタリングベースの映画推薦の実装実践

예측 행렬 음수값 문의

533

Abraham

投稿した質問数 20

0

안녕하세요. 강사님.

강의 초반에 임의 행렬 R로 예측행렬을 구하는 부분에서, R 행렬에 데이터를 추가해서 예측 평점이 어떻게 변하는지 실습해봤습니다.

아래처럼 마지막에 list 하나 추가해주었습니다.

그리고 나머지 과정을 모두 동일하게 하여 Matrix 분해 후 재결합 하였는데 아래와 같이 음수값이 나옵니다.

피쳐 값이 모두 양수인데 내적으로 구한 예측 행렬에 음수 값이 나올 수 있는지요?

그럼 답변 부탁드립니다.

감사합니다.

통계 python 머신러닝 배워볼래요?

回答 3

0

dooleyz3525

말씀하신 의미 보다는 P, Q 내에 초기화 시 행렬 값에 - 값이라던가, 이렇게 되어 있을 경우에 경사하강법으로 최대한 분해해도 - 값이 나오는 경우가 발생하는 것 같습니다.

그래서 P, Q 행렬 초기화를 RANDOM하게 하되, - 값이 상대적으로 덜 나오게 loc=1.0(즉 평균이 1) 로 한것입니다.

P = np.random.normal(loc=1.0, scale=1, size=(num_users, K))
Q = np.random.normal(loc=1.0, scale=1, size=(num_items, K))

0

Abraham

답변 감사합니다. 강사님.

제가 아래처럼 이해한 것이 맞는지요?

'P와 Q를 dot product로 R에 근사해가는 과정 |P||Q|cos = R 은 P와 Q에 절대값을 씌우기 때문에,

P와 Q의 내적 연산은 R행렬과 절대값만 유사하게 근사하면 된다. 그래서 최초 P, Q 내에 음수값이 있으면 학습 후에도 음수값이 나올 수 있다'

감사합니다.

0

dooleyz3525

네, 나올 수 있습니다.

최초 P, Q 값을 보시면 -값이 많이 포함되어 있습니다. - 값을 덜 나오게 하시려면 P, Q값을 아래와 같이 조절해 보십시요.

P = np.random.normal(loc=1.0, scale=1, size=(num_users, K))
Q = np.random.normal(loc=1.0, scale=1, size=(num_items, K))

모델 서빙과 관련된 강좌가 출시되는지 질문드립니다.

0

5

1

안녕하세요 열심히 수강중인 학생입니다

0

63

2

정수 인덱싱

0

68

2

넘파이 오류

0

85

2

11강 numpy의 axis 축 질문 드립니다.

0

85

2

Kaggle 에서 Santander customer satisfaction data 를 다운로드 되지가 않습니다.

0

79

2

Feature importances 를 보여주는 barplot 이 그래프로 안보여져요.

0

70

2

타이타닉 csv 파일이 주피터 화면에 보이지 않습니다.

0

75

2

타이타닉 csv 파일이 주피터 화면에 보이지 않습니다.

0

64

2

5강 강의 오류가 있어요.

0

84

1

실무에서 LTV 관련 모델 선택 질문입니다!

0

72

2

14강 강의 듣는중에 궁금한게 있어서 질문합니다~

0

69

3

파이썬 다운그레이 후 사이킷런 재설치

0

117

2

좋은 강의 감사합니다.

0

74

2

scoring 함수 음수값

0

67

2

6번 강의에 사이킷런, 파이썬, 아나콘다 각각 버전 일치 안 시키고 진행해도 강의 따라가 지나요?

0

100

2

분류 평가 정확도 예측

0

79

2

안녕하세요. 강의 들으면서 업무에 적용하고 싶은 수강생입니다.

0

99

1

카카오톡 채널 있나요

0

108

1

혹시 강의에서 사용하시는 ppt 받을 수 있는건가요

0

190

2

pca 스케일링 관련하여 질문드립니다.

0

100

2

주피터 대신 구글 코랩

0

172

2

강의에서 사용하는 pdf or ppt자료는 따로 없는 건가요?

0

148

2

실루엣 스코어..

0

86

2