달력

3

« 2024/3 »

  • 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
  • 31
2008. 1. 28. 00:48

day 9 ~ 18 netflix prize/일지2008. 1. 28. 00:48

netflix prize research day 9 ~ 20
한동안 게을러서 또는 방황해서 잠시 일지를 멈추었었다.
그래.. 001에 물난리나는바람에 아예 쓰지도 못하고 ㅠㅜ.. 또 심적으로도 뭔가에 산만하게 정신이 퍼져있어서
집중 못한거 같기도 하고...
문제는 이번주는 일본에 가느라 아예 공부를 못할듯 ... 쉣.
삼성 SDS에서 압박을 주는건 오히려 감사하다고 해야하나...ㅎㅎ

그래도 짬이 날때마다 코딩을 하여 ... 한일은 바로.다음과 같다.

* mysql포기
* 영화ID로 인덱싱된 binary자료생성
* 사용자ID로 인덱싱된 binary자료 생성
* 이들을 통해 영화간의 유사도 배열 생성(약 7분가량 걸리는 계산)
* 배열 A를 생성하는 코드만 완성(아직 수행은 안했음..)
* 크나큰 삽질
 - 파일 입출력이 얼마나 느린 작업인지 깨닫는데 걸린 시간
 - 메모리내에 효율적으로 자료를 pack시켜서 배열로 저장시켜 캐쉬의 효과를 최대한 누리게 하는 것이
얼마나 중요한지를 새삼 깨닫게 한일...( 무슨 링크드리스트로 해볼려다가 120시간 돌려야 결과가 나오는
코드를 작성한건 솔직히 적기도 쪽팔린다.)

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간에 얼마나 '많은' 영화의 평점이 얼마나 '많이'같은지, 그 각각의 영화가 얼마나 시기적으로 '가까운'지에
대하여 유사도를 계산한다..

=> 뭐 이딴것들은 다 논문에 나와있더라.. user-based approach와 item-based approach는 이미 다 나와있고... 상대적으로 item-based approach가 더 좋은 속도와 결과를 내지만,
나중에 데이터 짬뽕시키는게 적중률을 향상시키기에 시도는 했다 하더라.
:
Posted by Kwang-sung Jun