본문 바로가기

데이터마이닝

(11)
[데이터마이닝] 협업 필터링 collaborative filtering (멜론 플레이리스트 곡 예측)
[데이터마이닝] 9.추천 시스템(recommendation system) 9.2절 연습문제 (Exercise 9.2) 디스크 사이즈가 너무 커서 processor speed와 main-Memory Size가 뭍히는 경우. row로 나누냐 column으로 나누냐. 평균정도 되는 것을 평균에 비해서 얼마나 몇프로나 크냐 작으냐 이런식으로 해서 scaling을 하자. column을 해서 해버리면 processor speed와 main-Memory Size는 Disk Size에 비해 너무 적어진다. 일반적인 스케일링 할때 평균에 대해서 얼마나 크냐 작냐. 평균을 빼고 분산으로 나누고.. 분산의 몇배냐? 평균에 해당하는 애는 1로 만들고 작은애는 1.얼얼마 Maxima를 이용하여 풀이하였다. a) b) c) 계산이 이상하게 나왔다. --> 계산 제대로 했다. d) 조정인수를 전택하는 타당한 방법 중 하나는 각 인수를 성분의 평균..
[데이터마이닝] 5.링크분석(Link analysis) 5.5절 연습문제(Exercise 5.5) Exercise 5.5.1 : Compute the hubbiness and authority of each of the nodes in our original Web graph of Fig. 5.1. n = 4 sqrt(n) a = c(1/2,1/2,1/2,1/2) h = c(1/2,1/2,1/2,1/2) A = matrix(c(0,1,1,1, 1,0,0,1, 1,0,0,0, 0,1,1,0), nrow = 4) h = A%*%a h = h/max(h) a = t(A)%*%h a = a/max(a) pre_h =0 pre_a =0 while(pre_h != h || pre_a != a){ pre_h = h h = A%*%a h = h/max(h) pre_a = a a = t(A)%*%h a = a/max..
[데이터마이닝] 5.링크분석(Link analysis) 5.4절 연습문제(Exercise 5.4 ) 연습문제 5.4.1 스팸 팜 분석을 실시해보자. a) 각 지원 페이지는 목표 페이지가 아닌 자기 자신으로 연결된다. 지원 페이지가 자기 자신으로 연결된다면 목표 페이지의 페이지 랭크 값은 어떻게 될 것인가? y = x + 1-beta/N 이렇게 되겠네 b) 각 지원페이지는 어디로도 연결되지 않는다 이래도 a)와 마찬가지지 y = x + 1-beta/N 이렇게 되겠네 c) 각 지원 페이지는 자기 자신과 목표 페이지로 연결된다. 이렇게 되면 어떻게 되려나? own page 1개가 보유하게 되는 점수는 다음과 같다. 다음과 같고 자기 자신과 목표페이지로 연결되면 그대로인가(목표페이지로만 연결되는경우를 뜻함)?.. 해깔리네. 아니면 나가는 랭크 값이 절반으로 줄어들게 되는 것인가? 그렇다면 들어오는 랭크 값은 ..
[데이터마이닝] 5.링크분석(Link analysis) 5.3절 연습문제(Exercise 5.3.5 ) Exercise 5.3.1 : Compute the topic-sensitive PageRank for the graph of Fig. 5.15, assuming the teleport set is: (a) A only. M = matrix(c(0, 1/3 ,1/3 ,1/3, 1/2,0,0,1/2, 1,0,0,0, 0, 1/2 , 1/2, 0),nrow = 4) r = matrix(c(1/4,1/4,1/4,1/4)) beta = 0.8 es = matrix(c(1,0,0,0),nrow=4) s = 1 pre_r = r r = (beta*M)%*%r + (1-beta)/s * es while(pre_r != r ){ pre_r = r r = (beta*M)%*%r + (1-beta)/s * es } r (..
[데이터마이닝] 5.링크분석(Link analysis) 5.2절 연습문제(Exercise 5.2.1 ) Exercise 5.2.1 Suppose we wish to store an n × n boolean matrix (0 and 1 elements only). We could represent it by the bits themselves, or we could represent the matrix by listing the positions of the 1’s as pairs of integers, each integer requiring ⌈log2 n⌉ bits. The former is suitable for dense matrices; the latter is suitable for sparse matrices. How sparse must the matrix be (i.e., what fract..
[데이터마이닝] 3. 유사항목 찾기(Finding Similar Items) - 3.3연습문제 이는 제프리 데이비드 울만의 저서 빅데이터 마이닝의 3.3절 연습문제에 대한 풀이이다. 연습문제3.3.5 두 열의 자카드 유사도가 0이면 민해싱을 통해 얻은 추정 자카드 유사도는 항상 정확함을 증명하여라. Prove that if the Jaccard similarity of two columns is 0, then then minhashing always gives a correct estimate of the Jaccard similarity. 민해싱을 통해 얻은 추정 자카드 유사도는 두 열의 자카드 유사도와 같다. 연습문제3.3.6 가능한 행 순서 변경을 모두 적용하지 않아도 열의 자카드 유사도를 추정할 수 있다는 생각을 할 수도 있다. 예를 들어 행들을 순환적으로 교환하는 경우를 생각해보자. 즉 ..
[데이터마이닝] 3. 유사항목 찾기(Finding Similar Items) -3 민해싱 실제 구현은? Minhashing permutation을 하여 민해싱을 하는것은 이론적으로는 가능하지만. 시간적으로, 메모리 공간적으로 비현실적이다. 그래서 실제로 노드를 peremutiation하지 않고 .hash fucntion을 사용한다. 100개의 hash function을 이용한다는것은 100번 permutation한다는것임. 해당 hash value 가 바뀐 row number. documnet가 set이 되고 set을 1개의 column으로 표현. M(i,c) i번째 hash function, c번째 문서(set) M(i,c)는 hi(r)값들중 가장 작은 값이 된다. 각 row에 대해서 100개의 hash function을 이용하여 현재 진행중인 row r의 hash 값을 구한다. 각 column에 대하여 해당 row에서 1..
[데이터마이닝] 3. 유사항목 찾기(Finding Similar Items) -3 민해싱개념 Minhashing 너무 큰 셋들이 많이 있으면 유사도 계산 하나하나 할때만다 오래걸린다. 셋간의 유사도를 계산할 수 있는 방법은 여러가지 있지만. 자카르드 유사도가 가장 많이 쓰인다. 인터섹션의 크기의 비율. 6가지 토큰 중에서 c1은 2,3,5번째 에 해당하는 것을 가지고 있고 c2는 1,3,5,6번째에 해당하는 것을 가지고 있다. c1과 c2의 intersection은 3번째 것 5번째것. 민해싱 -Permute the rows(행들의 순서를 뒤섞는다.) --> Thought experiment -not real(실제 실험에해는 이렇게 안한다. ) - Define minhash function (순서를 뒤섞이 위한) --> h(C) - 모든 column에 여러 minhash fuction을 적용시켜서 각 column에..
[데이터마이닝] 3. 유사항목 찾기(Finding Similar Items) -2 슁글링 shingling 싱글링 uni-gram, bi-gram tri-gram example : k= 2; doc = abcab. set of 2-shingles = {ab,bc,ca} combi(a,b,c,d)? silding 기반의 k-shingle을 이용할 경우에 distance k-1정도만 영향을 받는다. 2문단 3문단.. 순서가 바뀌면? 이렇다고 해도 similarity가 크게 바뀌지 않는다. 딱 핑크 네모 부분만 영향을 받는다. k-shingle을 compression을 해야한다.(공간을 너무 많이 차지하므로) 슁글의 개수가 너무 작으면 ...극단적으로 1이라고하면. 모든 doucment가 a-z까지 결국 모든 문서가 유사하다 라는 결론이 난다. k=10이면 26^10 1 bite짜리 10개 사용하면 256^10 -..