달력

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

'분류 전체보기'에 해당되는 글 138

  1. 2008.06.15 잠시 쉬던 티스토리 1
  2. 2008.04.03 황규백 교수님 면담 (7)
  3. 2008.03.26 황규백 교수님 면담 (6)
  4. 2008.03.23 사용자의 점수 분포도
  5. 2008.03.22 통계패키지, R, 기초사용법
  6. 2008.03.20 useful C defines
  7. 2008.03.20 박영택 교수님 면담
  8. 2008.03.19 황규백 교수님 면담 (5)
  9. 2008.03.16 소팅하기.
  10. 2008.03.16 34번째
2008. 6. 15. 00:52

잠시 쉬던 티스토리 일기2008. 6. 15. 00:52

이제는 블로깅을 스스로 해야겠다는 생각이 슬슬 든다.

무엇보다도 시스템 프로그래밍 시간에 초청되었던 선배님의 말씀이 지금 이 글을 쓰게 만드는 것 같다.

핑계라면 공대생이기 때문이라는 이유로, 그저 현실적인, 다시말하면 눈앞에 닥친 일만 처리하고싶어하고
괜시리 말도 안되는 공상을 블로그에 적고 혹은 자랑하고
사람들에게 비난 또는 타인에게 속내를 비추는 것을 싫어해서 그동안
글 올리기를 꺼려했다.

그런데 이제 드는 생각은 사소한 피드백이라도 직접 글을 써보고 받고 하는 활동 자체가
나에게 크나큰 도움이 될 것이라는 것이다. 이 결심도 얼마나 오래갈지는 모르지만, 어떤 형식으로든 글을 남기는 것이 가장 중요하다는 믿음을 갖고, 부끄러움 또는 남의 시선 같은것은 두세번째로 미루어 보겠다.

부딪혀야 한다.
:
Posted by Kwang-sung Jun
2008. 4. 3. 19:10

황규백 교수님 면담 (7) netflix prize/논문 미팅2008. 4. 3. 19:10

  1. 정보과학회에서 나온 형식으로 쓰기
  2. 타이틀 빼고, 저자 작성하기.
  3. 실험: p-norm에서 분수에 루트씌우는 1/p부분 제거하고, alpha값 고려해서 테스트해보기
  4. 수식에 번호삽입
  5. 수식을 이탤릭체로, + Times New Roman
  6. 변수이름이나 k를 모두 이탤릭체로
  7. min w 에서, w를 작게 표시하는법 찾기
  8. 평가값의 정규화를 포함하기
  9. 참고문헌 인용된 순서로 바꾸기으로
  10. 서론에서 기존의 CF에서 이용된 기법을 간단히 설명


오 교수님께서 매우 꼼꼼히 첨삭해 주셨다.
감사합니다.

:
Posted by Kwang-sung Jun
2008. 3. 26. 14:59

황규백 교수님 면담 (6) netflix prize/논문 미팅2008. 3. 26. 14:59

줄거리를 쓰기 시작해야한다.

1. 한문단 가량 collaborative filtering 에 대한 개요(참고문헌 3~4개 정도 채우기)
2. A4용지 한장 반-> 논문을 요약. 순서도 + 수식 + 알고리즘 수도코드(반드시 출처 밝힐 것.)
3. k값의 변화에 대한것, 상관계수방법과 interpolation방법에 의한 것, p - norm변화에 따른 결과. 표 + 이유를 제시

마감: 일요일 까지.

나머지..

1. 데이터 셋에 대한 소개.
2. 전체 참고문헌은 10개 가량으로 요약.

:
Posted by Kwang-sung Jun
2008. 3. 23. 09:38

사용자의 점수 분포도 netflix prize/일지2008. 3. 23. 09:38

분포는 분명히 내가 예측한대로 나오는데
사용자 삽입 이미지

어째서 , 어째서 , 분산을 좌, 우 따로 생각했을때는 값이 시원찮을까.?
:
Posted by Kwang-sung Jun
R

.R의 스크립트로 실행하기

R CMD BATCH <filename>


table을 만든다.

movie <- read.table("movie.tab")


$을 이용해서 칼럼의 자료들을 벡터로 받아낼 수가 있다.
y <- movie$Rating


범위는 0부터 5까지 1간격으로.
hist(y, seq(0, 5, 1), prob=TRUE)


"SJ"는 왠만큼 무난한 band width를 보장한다.
lines(density(y, bw="SJ"))
plot(density(y, bw=1))

(아직은 위의 그래프를 그렸을 때 x좌표가 의미하는것이 무엇인지 잘 모르겠다.)

평균등을 보여준다.
summary(y)

:
Posted by Kwang-sung Jun
2008. 3. 20. 14:12

useful C defines 삽질예방/유용한 C defines2008. 3. 20. 14:12

__STRING(expr) expr에 해당하는 모든내용을 문자열로 치환해준다.
__FILE__, 파일명(const char*)
__LINE__, 라인넘버 (int)

#include <stdio.h>
#define DELTAKAM
...
printf("%s", __STRING(DELTAKAM));
printf("%s,%d", __FILE__, __LINE__);
...



출력

DELTAKAM
1.cpp,13



 

:
Posted by Kwang-sung Jun
2008. 3. 20. 13:57

박영택 교수님 면담 종료/교수님 면담2008. 3. 20. 13:57

1. 공모전: -> 소셜 네트워크를 접목시켜, 개인적인 광고를 보내기.
              -> 웹프로그래밍 가능자를 구해서 같이하기...

2. 퀄컴: 자기소개서, 작년 AI과목 성적... 퀄컴IT TOUR가 어떤 내용의 행사인지 문서 만들어서 보내드리기

3. 발표잘하기: 외부 세미나를 애용하자.(전자신문 등에 주로 게재됨.)

:
Posted by Kwang-sung Jun
2008. 3. 19. 16:28

황규백 교수님 면담 (5) netflix prize/논문 미팅2008. 3. 19. 16:28

1. movielens데이터 적용(최우선).
2. 이메일로 논문 제목 보내기.
3. 논문 지속적으로 읽어보기.
4. p-norm에서 p값을 바꾸어가며 해보기.

5. 통계패키지, R + emacs

6. 각 이웃의 |U(i, j)|가 얼마나 차이나는지... 성능향상을 위한 방법 생각해보기
7. 유사도에서 |U(i, j)|를 두배시켜 사용한다든지, 아니면 조금 낮춘다든지..
8. 영화의 좌우 분산 어느정도로 분포되어있는지, 어느정도 차이나는지 파악하기 또는 그래프 그려보기

. 논문에 들어갈 내용...
 - movielens 데이터, 파라미터 어떤값에서 최적인지, p-norm을 시도한 이야기(p값에 따라.)
 - 앙상블에 대한 시도를 하기에는 부족한 시간.
 - 최적의 k값을 선정하기-> k가 증가할수록 정확해지기때문에 그다지.

:
Posted by Kwang-sung Jun
2008. 3. 16. 22:11

소팅하기. 삽질예방/STL 교과서2008. 3. 16. 22:11

stl에서 소팅하기...



예를 들어 다음과 같은 벡터가 있다고 하자.

struct MovieRating {
    short movieId;
   char rating;
   unsigned int time;
};

vector<MovieRating> UserData;

이번 예에서는 시간적인 순서에 따라 정렬하고 싶은게다. 시간은 그냥
time()이 리턴하는 시간, 즉 seconds passed since epoch(대충 0년 이후 지금까지 몇초가 흘렀는지)가 기록되어있다.


bool CmpInc(MovieRating a, MovieRating b); // just adeclaration...
.
.
sort(UserData.begin(), UserData.end(), TimeCmpInc);
.
.

// increasing order, 오름차순, 갈수록 숫자가 커지도록...
bool CmpInc(MovieRating a, MovieRating b)
{
    return a.time < b.time;
}


음... 별다른설명 필요한가..



:
Posted by Kwang-sung Jun
2008. 3. 16. 22:02

34번째 netflix prize/일지2008. 3. 16. 22:02

전날밤 열심히 돌려두었던 프로그램은 엉뚱한 결과를 생성해내고야 말았다...
실수 계산할 때는 곳곳에 assert(false == isnan(fnum));을 해주어야 한다는 매우 기초적인 사실...


덕분에 월요일로 테스트를 미루게 되었고...

MovieLens데이터 이식과정..

6040 users( 1 ~ 6040 ), each at least 20 ratings for each users
3883 movies( 1 ~ 3952 ), sparse...

1000209 ratings w/ probe
30200 ratings in probe set
970009 ratings w/o probe

after changing to netflix format

6040 users(0 ~ 6039)
3883 movies(1 ~ 3883)
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
완료... 이제 netflix_prize에서 옵션을 줌으로써 가능하게 만들어야 한다.

• -건드린 부분. env_vars_loader.cpp에서 데이터 로드하는 부분..
• recommender.cpp.... 에서 movielens data를 읽어올 수 있도록하기.

할일들은??
• matrix_gen, corr_gen, similarity_gen.이 모두 잘 작동하도록 해주어야 한다.
• 무지막지하게 variable을 건드려야 할듯.
• AVG_DIAGONAL 밸류 실험후 집어넣기..
• 파일 경로들... 모두 수정..

이제는 사실 여기에다가 로그를 남기는게 의미없어진듯하다.  시간투자를 많이 할수 있으면 좋으련만.
아무튼 수요일 전까지는 끝내야하는 일들이니 ㅠㅠ

오늘은 집에가다가 근택이네 한번 들려주어야 겟다...
:
Posted by Kwang-sung Jun