달력

4

« 2024/4 »

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
2008. 1. 9. 18:16

day 5 & 6 netflix prize/일지2008. 1. 9. 18:16

netflix prize research day 5 & 6
<5일차의 삽질>
 밤새 돌려놓았던 분류기가 이상하게 0바이트의 파일들을 만들어 내고 있었다.
새로운 그룹을 생성하였지만 사이즈가 그대로 0이 되어버리는 경우는?
 ->> 반지의 제왕! .. 그 누구라도 4점과 5점을 주었다. 따라서 1점 2점 3점의 그룹은 사이즈가 0인채로 기록된것이다.

< 삽질하나더>
hash_map<int, char*> 의 인스턴스가 newHash라고 할때,
newHash[3] = "dkfjld"
라고 쓰는것은 좋다. 그러나 값을 가져오기 위해서 newHash[3]을 사용해서는 안된다. 만약 3이라는 key값에 해당하는 value가 없을 경우에는 결국 키값이 3, 밸류가 0인 자료를 생성해서 대입하게 되기 때문이다.

<클러스터링>
클러스터링이란, 내가 생각해오던 대로 군집화시키는 알고리즘이었다.
wikipedia.org를 참고하여서 클러스터링 알고리즘을 이해하고 알고리즘을 노트에
순서대로 적어놓았다.
한가지 결정할 사항이 있다.
mysql에 모든 자료를 다 집어넣어놓고 작업을 해야 하는가?
아마도 그런 듯 하다. 왜냐하면 지금 파일에는 '영화'기반으로 자료가 들어가 있는데,
'유져'기반의 추천시스템인 collaborative filtering을 구현하기 위해서 나는 자료를 반드시 '유져'기반으로 갖고 있어야 하기 때문이다. 그렇다고 해서 코딩으로 이들을 모두 분류시키기는 또 무리인 것 같고.. 아구마 할일 많구만.


TODO
 - mssql에 모든 데이터를 쑤셔 넣어 버리자!
  - 통계프로그램을 구했으니 슬슬 자료 분석도 시작해 봐야지
 - 2007년 1등한사람의 PDF를 종종 읽으며 연관기술을 습득하자.
 - STL사용법을 삽질기에 적어놓도록 하자.

  1. 주먹구구식이라도 알고리즘 적용하여 한번 풀어보기
  2. 베이지안 네트워크 적용하여 풀기. (통계프로그램의 분석을 통한 확률을 알고 있어야 한다.)

 - 가장 시급한 것은 알고리즘을 개선하는 것이다. 현재 한시간동안 영화를 대략 500개정도 군집화(그룹화)가능하다.
collaborative filtering에 대한 wikipedia자료 정리하기.

문제해결법에 대한 IDEA

*. user들을 군집화시킨 후 알고리즘을 적용한다.(합리적...)
 
*. 영화제목으로부터 연관관계를 끌어낼 수 있을까(시리즈물, 어두운 분위기, 공포 등)
 - WWE
 - soldier
 - Dark
 - dragon ball
 - national geographic
 - 영화제목에 위의 단어가 들어있다면. 이용자가 시리즈물을 보고 평가한 결고를 반영할 수 있다.
 - (user base + item base)
 - 자주 검색되는 단어를 이용해도 된다.
 
*. 시간적으로 '최근' 취향이 비슷할 수록 가중치가 높아진다.
 - user간에 얼마나 '많은' 영화의 평점이 얼마나 '많이'같은지, 그 각각의 영화가 얼마나 시기적으로 '가까운'지에
대하여 유사도를 계산한다..
:
Posted by Kwang-sung Jun