일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 인공지능
- 인페인팅
- computer vision
- 비동기 프로그래밍
- 자바스크립트 비동기
- 파이썬
- Hits
- cs231n
- 러스트
- 컴퓨터 보안 키분배
- 파인만의 식당문제
- Readme image
- 커널제거
- 프라미스
- 키분배 알고리즘
- image restoration
- recommender
- feynman's restaurant
- 페이지랭크
- 딥러닝
- tcp
- Git
- pagerank
- rust
- brew 권한
- 커널생성
- 머신러닝
- 협업필터링
- react-cookie
- 메세지인증코드
- Today
- Total
목록ABCD (9)
Worth spreading
MovieLens 데이터셋을 이용해 가장 기본적인 Collaborative Filtering을 Jupyter notebook으로 작성해보았습니다.다양한 의견 환영합니다. Github 바로가기
Multi armed bandit 위키피디아 글을 보던 중 external link에서 'feynman'을 발견했다. 굉장히 좋아하는 사람이라 반가웠지만 추천시스템글에 왜 물리학자가 링크되지? 라고 생각했다.어쨌거나 링크를 클릭해 들어가봤다. Feynman's restaurant problem이라는 제목의 글이었다.내용은 다음과 같다. 1970년 어느날 리처드 파인만과 랠프 레이턴이 자주 가던 식당에서 메뉴를 고르고 있었다. 메뉴를 고르던 중 둘은 가장 맛있었던 메뉴를 시키는 것과 새로운 메뉴를 시도해 보는 것 중 어떤 것이 더 나은지에 대한 이야기가 나누었고 이 문제를 수학적으로 분석했다. 파인만이 타계한 이후 2002년 마이클 고트립(Michael Gottlieb)이라는 물리학자는 랠프 레이턴에게 이..
" 이 글은 Semantic Image Inpainting with Deep Generative Models 논문을 참조해 작성한 글입니다. "다음 이미지들은 이 논문의 코드를 이용해 나와 지인들의 얼굴 그리고 논문에서 제공한 데이터셋의 얼굴들을 Inpainting한 결과이다. 랜덤으로 노이즈를 준 경우는 굉장히 좋은 결과를 보여준다. (포이즌블랜딩을 하고 안하고의 차이가 꽤나 있었다.)반면 왼쪽을 통째로 날려버린 경우는 부드럽지만 원본과 차이가 있는 결과를 보여주었다. 이 글에서는 GAN을 이용해 위와 같은 결과를 얻어 내는 방법에 대해서 알아볼 것이다. Image inpaintingwith GAN 1. Introduction Image inpainting은 긴 기간동안 수많은 학자들로부터 연구된 유서..
Mining of Massive Datasets의 Link analysis 챕터에서 배운 내용 Pagerank는 웹페이지의 중요도를 구하기 위한 기법으로 어떤 page의 pagerank값은 그 page가 얼마나 중요한 page인지를 나타낸다)* Web page의 개수를 N개로 가정1. 행과 열의 개수가 모두 N인 행렬을 만든다.2. 만약 page j가 page i로 가는 링크를 갖고 있다면 행렬 M(i,j)는 1/c 값을 갖는다. (c는 page j의 outlink 개수) 이러한 행렬 M은 한 열의 값을 모두 합친 값이 1이 되므로 'column stochastic matrix'라고 부른다.3. 이제 pagerank를 저장할 벡터 r을 만든다. 모든 page는 각각의 pagerank값을 가지므로 r은 길..
이 글은 Nicolas hug씨의Understanding mtrix factorization for recommendation (part 3)을 한글로 번역한 글입니다. 오역이나 잘못 설명된 부분을 발견하신 분은 댓글로 알려주시면 감사하겠습니다. SVD for recommendation 지난 시간까지 잘 따라왔다면 SVD가 무엇인지, 그리고 SVD가 점수(rating)를 어떤 식으로 모델링 할 수 있는지에 대한 이해가 됐을 거라 생각한다. 그렇다면 이제 가장 중요한 이야기를 할 때다. SVD를 추천시스템에 어떻게 적용할지에 대해 이야기해보자. SVD로 점수를 예측하는 방법이라고도 할 수 있겠다. 맨 처음에 얘기했던 우리의 sparse matrix R을 다시 떠올려보자 우리의 목표는 여기서 '?'로 표시되..
이 글은 Nicolas hug씨의Understanding mtrix factorization for recommendation (part 2)을 한글로 번역한 글입니다. 오역이나 잘못 설명된 부분을 발견하신 분은 댓글로 알려주시면 감사하겠습니다. SVD of a (dense) rating matrix Part2를 시작하기 전 지난시간 했던 것들을 짧게 복습해보자. 1) 행렬 R에 대한 PCA를 통해 typical user의 정보를 얻을 수 있다. 이 typical user는 original user와 같은 크기의 벡터이다. (creepy/typical guy 예제와 같은 맥락) 그리고 typical user가 벡터이기 때문에 우리는 typical user들을 열(column)으로 갖는 행렬을 정의할 수 ..
이 글은 Nicolas hug씨의Understanding mtrix factorization for recommendation (part 1)을 한글로 번역한 글입니다. 오역이나 잘못 설명된 부분을 발견하신 분은 댓글로 알려주시면 감사하겠습니다. * rating은 점수, 점수를 주는 행위 두 가지 뜻으로 사용했으며 점수예측, rating prediction 등 단어를 섞어 썼으나 같은 뜻을 의미합니다. * factorizing도 인수분해라는 어엿한 한국말이 있지만 그 느낌을 더 살기 위해 영문을 그대로 사용했습니다. 10여년 전, Netflix는 영화점수예측(predicting movie rating) 알고리즘 공모전 'Netflix prize'를 개최했다. 3년간 많은 연구진이 참여했고 그 중 matr..
뉴럴넷(Neural net)에서 가중치(weight)의 초기값 설정은 아주 중요하다. 실제로 뉴럴넷의 성패가 초기값에 의해 갈리는 경우가 종종 있다. 그렇다면 초기값을 모두 0으로 주면 어떨까? 결론부터 이야기하자면 이는 좋은 아이디어가 아니다. 그렇다면 가중치의 초기값을 모두 0으로 주면 안되는 이유는 무엇일까? (정확히는 가중치를 균일한 값으로 설정하면 안 된다.) 그 이유는 오차역전파법(Back propagation)에서 모든 가중치의 값이 똑같이 갱신되기 때문이다. 순전파(forward prop.)시에 같은 값들(0)이 전달되면 역전파(backwards prop.) 때도 역시 같은 값들로 갱신된다. 이는 가중치를 여러 개 갖는 의미를 사라지게 한다. 이렇게 '가중치가 고르게 되어버리는 상황'을 막..
지난 시간에 포스팅했던 cross entropy함수를 보면 수식에 log가 들어있는 것을 볼 수 있다. 그냥 정답과 예측값 간의 차이를 전달해주면 될텐데 왜 굳이 복잡하게 log를 달아서 전달해주는 것일까?이것에 대해 함께 이야기해보자 ! 머신러닝에서 cost는 우리가 학습시킨 프로그램이 얼마나 정확한지를 나타내는 지표라고 할 수 있다. cost값이 작을수록 정답에 가깝다는 의미이고 우리는 이 cost를 최소화하는 것을 목표로 한다. cost의 최솟값을 찾아갈 때는 미분이란 개념을 사용하는데 미분이란 쉽게 말해 기울기를 구하는 것이다. 미분으로 기울기를 구한 후 이 기울기가 작아지는 방향으로 cost함수의 변수 값들을 조절해주는 것이다. 그런데 우리가 머신러닝에서 사용하는 활성화함수는 sigmoid와 같..