Collaborative Filtering항목의 내용 기반 특성을 사용하지 않고, 유사한 사용자를 찾아 그들의 선호템을 추천하는 방식 사용자 x와, 그가 사용하지 않은 항목 i를 생각해보자.1. x와 '비슷한' 평점을 가진 사용자 N 집합을 찾는다.2. i에 대한 N의 평점을 기반으로 x의 i에 대한 평점을 추정한다. 그럼 저 N을 찾으려면 어떻게 해야 하느냐,사용자의 행을 유틸리티 행렬에서 가져와 비교 후,행 벡터의 유사성으로 사용자간 유사성을 판별 유사도는 또 어떻게 측정하느냐 하면, 사용자들의 평점 벡터 rx와 ry를 활용하는데, 이들의 코사인 유사도를 사용한다.공식은 아래와 같고, 작은 각도가 나오면 선호도가 비슷하단 얘기. 근데 직관적이진 않다.뭐가 직관적이지 않냐면, 결측값 처리나 사용자의 개..
AI/데이터과학
중심성(Centrality)그래프에는 많은 엔티티(노드)를 가지고 있는데, 그중 우리가 집중해야 하는 중요한 엔티티(노드)를 결정하는 기준은? 케빈 베이컨의 6단계 이론- "모든 배우들은 케빈 베이컨과 6다리 이내로 안다"- 왜냐면 케빈 베이컨은 많은 사람들과 일했고, 그들도 또 많은 사람들과 일했고.. 이렇기에!- 그럼 케빈 베이컨이 co-acting graph에서 중심에 있게 된다. 그치만, 케빈에 대한 평균 거리는 2.998이었고, Harvey Keitel에 대한 평균 거리는 2.848이었다.즉, 케빈보다 하비가 더 중심이라는 것. 중심성 : 그래프의 각 노드에 숫자를 부여해 중요도를 나타낸다. 중심에 있을 수록 중요한 것!Degree Centrality : 노드의 연결개수Eccentricity C..
WWW를 그래프 G=(V, E)를 표현해보자웹 페이지를 정점(vertex)으로, 하이퍼링크를 간선(edge)으로 표현한다.만약 페이지 v1이 페이지 v2에 대한 하이퍼링크를 가지고 있다면 E는 엣지 (v1, v2)를 가지고 있다.만약 특정 페이지 v에 outgoing 링크가 없다면, E에 self-loop (v, v) - 자기 자신으로 가는 간선을 추가한다. 랜덤 서핑 알고리즘1. 초기 페이지 u에서 시작하는데, 우리가 방문하고 있는 페이지이다.2. 동전을 던져 앞면이 나오는 확률을 alpha라 한다.3. 만약 앞면이 나왔다면, u의 랜덤한 아웃링크를 따라서 다음 페이지로 이동한다.4. 만약 뒷면이 나왔다면, 그래프의 임의의 페이지로 이동한다. -> 이걸 리셋이라고 한다.5. step 1에서부터 다시 반..
본 포스팅은 충남대 이종률 교수님의 강의자료를 바탕으로 작성한 글입니다.Artificial Neuronsummation+activationInput이 들어오면 가중치가 곱해진 후 summation unit을 통과하게 되고, 활성화함수를 통과하게 된다. AND나 OR는 linearly separable하지만, XOR는 그게 안 된다.그럼 이제 더 많은 뉴런이 필요하게 된다. 보통 신경망은 각각 여러 뉴런을 포함하는 층으로 구성되고,각 레이어는 입력 벡터, 가중치 행렬, 편향 벡터, 출력 벡터와 연결된다. 보통 근사 이론은 유한한 수의 가중치를 가진 최소 1개의 은닉층을 가진 신경망에 의해 잘 근사될 수 있다. 딥러닝은 어떻게 작동하느냐 하면,Training- 모델의 가중치 파라미터를 계산해서 학습 오류를..
본 포스팅은 충남대 이종률 교수님의 강의자료를 바탕으로 작성한 글입니다. Vector Space Model concept 벡터로 문서를 나타내는 법- 각 concept는 하나의 차원을 정의한다.- k concept는 높은 차원의 공간을 정의한다.- 벡터의 요소는 concept 가중치에 해당한다.이 concept 공간에서의 벡터간 거리는 문서간 관계를 나타낸다. 뭐 만약 축이 스포츠, 교육, 금융 이라면 (주제) 각 문서가 투영되는 것을 통해 그 문서는 어느 주제에 관련있는지 볼 수 있다.이런 식으로 말이다. 근데 이제 이 VS모델이 나타내지 않는 것이 있는데, 그게 뭐냐면- 기본 컨셉을 어떻게 잡는가 (concept은 직교하는 것으로 가정)- 가중치를 어떻게 할당하는가 (가중치는 concept이 문서를 ..
본 포스팅은 충남대 이종률 교수님의 강의자료를 바탕으로 작성한 글입니다.되게 간단하게 분류하는 모델이다.질문에 대한 답변으로 분류하는 것!예를 들어,동물인가요? yes다리가 몇 개인가요? 2무슨색인가요? white 요런식으로.. 분류함! 이제부터는 이 결정트리에 대해 Iris flower data set을 이용해볼 것이다.여기서 설명변수는 petal length, petal width, sepal length, sepal width가 있다.그리고 목표는 다른 데이터에 대해 종을 구별해내는 것이다. target = species(versicolor, setosa, virginica) 단지 분포표만을 보고도 dt를 생성할 수 있다.이렇게 말이다.위처럼 non-linear하게 나타낼 수 있어서 logistic..
본 포스팅은 충남대 이종률 교수님의 강의자료를 바탕으로 작성한 글입니다.다중 선형 회귀feature가 여러 개인 것! 그리고 feature 수가 p개면 parameter 수는 p+1개. 회귀식에 상수항까지 있기 때문에 +1 모델링 과정은 전에도 말했듯,1. 모델을 고르고, 2. 손실 함수를 고르고, 3. 모델을 적합시키고, 4. 모델 성능을 평가하면 된다.보통 통계에선 1&2과정을 통틀어 OLS(Ordinary Least Squares)라 한다. 1. 모델 고르기우선 이 데이터들을 벡터 형태로 나타낼 건데, 상수항까지 고려해서y_hat = [1, x_1, x_2, ..., x_p] .T * [o_0, o_1, o_2, ..., o_p] 이렇게 나타낼 수 있다!그리고 저 측정값들이 여러 개일 테니, 그들을..
본 포스팅은 충남대 이종률 교수님의 강의자료를 바탕으로 작성한 글입니다. 이제 분할 방법에 대한 알고리즘을 설명할 것이다.어떤 데이터베이스 D의 n개의 객체를 k개의 클러스터로 분할하는 문제이다.군집 내 데이터 끼리의 제곱 거리를 최소화한다. K-Means Clustering이건 가장 인기있는 접근 알고리즘이다.임의의 수 k를 정하고, k개의 중심을 랜덤하게 배치한다. 각각 다른 컬러로.그리고 아래의 과정을 더이상 변화가 없을 때까지 반복하는데,1. 각 데이터를 가장 가까운 중심에 할당하고,2. 모인 각각의 색깔의 중심을 계산에 k개의 중심을 각각 색의 중심으로 이동시킨다. * 이름이 비슷한 KNN(K-Nearest Neighbors)와 헷갈릴 수 있는데,KNN은 지도학습인 분류/회귀에서 쓰이는 아예 다..