달력

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

'machine learning'에 해당되는 글 8

  1. 2008.03.03 ensemble, 앙상블
  2. 2008.02.27 순위상승
  3. 2008.02.25 순위등극!!!!
  4. 2008.02.25 32번째
  5. 2008.02.11 추천시스템 서버적용 애플리케이션 아이디어
  6. 2008.02.04 day 26
  7. 2008.01.09 day 5 & 6
  8. 2008.01.02 이곳을 만들게 된 계기는 netflix
2008. 3. 3. 17:17

ensemble, 앙상블 netflix prize/기타2008. 3. 3. 17:17

앙상블

인공지능 교재 664p에 매우 잘 나와있다.

"boosting" - 가장 흔한 방법

:
Posted by Kwang-sung Jun
2008. 2. 27. 10:35

순위상승 netflix prize/기타2008. 2. 27. 10:35

사용자 삽입 이미지
이번엔 700위대로 진입!

:
Posted by Kwang-sung Jun
2008. 2. 25. 18:41

순위등극!!!! netflix prize/기타2008. 2. 25. 18:41


사용자 삽입 이미지
:
Posted by Kwang-sung Jun
2008. 2. 25. 00:12

32번째 netflix prize/일지2008. 2. 25. 00:12

32번째작업일지..

흠... 그동안 내가 probe set을 training 에 포함시킨 채로 알고리즘을 돌리고는 성능측정하는데 probe를 사용한건 나의 크나큰 삽질 중의 하나다.
지난번포스트를 보면 알겠지만, 어쩐지 성능이 좋더라니... 하는 말이 나온다.

  1. 최근, probe set을 제외하도록 프로그램을 수정하였다.(은근 빡심)
     -> 컴파일할때 FOR_QUALIFYING 이라는 식별자정의를 포함시켜주어야 한다.
  2. recommender(실제 추론하는 부분)이 스레드를 활용하여 작동하도록 수정하였다.
  3. 파라미터에 대한 실험.. Beta = 120000, similarity는 15가 매우 적당하다.
다음은 해야할 일
  1. 더이상 global effect를 추진할 시간이 없다. 어서 다른 프로그램들을 준비하여, SDS 페스티벌에 낼 시연 형태, 그리고 프레젠 테이션 연습 및 작성을 해야한다.
  2. 상관계수로 weight구하는 방식을 구현해 본다.(추후에 비교 분석 해야하므로.)
  3. 그리고는 논문작성은 교수님께 말씀드려서 조금 천천히 해야지.

:
Posted by Kwang-sung Jun

메뉴 에서 선택

1. 서버에서 어떤 데이터 베이스에 어떤 테이블, 어떤 칼럼에정보가 들어있는지 그 정보를 읽도록 한다.

2. 그 데이터를 기반으로 바이너리 데이터를 생성해 메모리에 올린다.

3. 메모리에 올린 데이터로 preprocessing data를 생성한다. (유사도 + 행렬 A)
-> 이 와중에 시각화를 시키는 것이 가능하다 - 유사도를 이용하여 영화의 군집화를 보여주는 것이다.

<이상의 작업은 하루에 한번 이용량이 적은 시간대에 행해질 것이다. UI버전 + CUI버전 동시에 제공. UI버전은 실행과 동시에 작업이 진행된다.)
... 시간 소요 ...
 
4. 이제 그 바이너리 데이터를 기반으로 항시 "추천"이 가능하다.
4-1. 추천의 방법은 예를 들면, 최신 영화 100개를 대상으로 맞춤평점순 정렬을 시킨다든지, 특정 장르, 특정 검색어를 통해 "검색"과 동시에 맞춤평점을 평가하는 방식이 가능하다.
4-2. 또는 랜덤하게 추출한 100개의 영화중 맞춤평점이 높은 영화를 추천해 줄 수 있다.


* 프로토 타입만 생성가능 => 전시회이지 공모전이 아니기 때문이다...
* 실험데이터를 자주 참조하자.


궁금증 ** 왜 weight의 합은 1이 아닐까??????????????

:
Posted by Kwang-sung Jun
2008. 2. 4. 21:46

day 26 netflix prize/일지2008. 2. 4. 21:46

netflix prize research day 26

오늘 한일은 다음과같다

  • N(i; u)를 구했다. 즉, u가 rating했던 아이템중 i와 비슷한 아이템 20개를 선정한다.(20이 안되는 경우는 assert걸어둔다.)

이를 위해서 오늘

  • recommender.cpp작성
  • similarity_loader 모듈작성
  • matrix_loader 모듈작성
  • userdata_loader 모듈작성

TODO

각 유져와 무비 페어에 대해.
• N(i;u)를 구한다. 즉 u가 rating했던 아이템중 i와 비슷한 아이템 20개를 선정한다.(20이 안되는 경우는 assert걸어둔다.)
• 20 * 20 매트릭스 A, 20 * 1 벡터 b를 작성하고, 알고리즘을 이용하여 w를 구한다.
• 레이팅을 채운다..


  - 통계프로그램을 구했으니 슬슬 자료 분석도 시작해 봐야지

문제해결법에 대한 IDEA

*. 영화제목으로부터 연관관계를 끌어낼 수 있을까(시리즈물, 어두운 분위기, 공포 등)

 - 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
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
netflix prize때문에 만들었습니다.
혹시 관심있는 사람들이 검색하다가 한번씩 들리지 않을까 싶기도 하고
아니 그보다도 제가 공부한 내용 적어놓으려고 말입니다. ㅎㅎ
:
Posted by Kwang-sung Jun