Machine Learning
-
K-Nearest Neighbor(KNN)machine learning 2019. 3. 13. 19:17
cs231n — KNN classifierk-NN은 분류나 회귀에 사용되는 비모수 방식이다. 두 경우 모두 입력이 특징 공간 내 k개의 가장 가까운 훈련 데이터로 구성되어 있다. 출력은 k-NN이 분류로 사용되었는지 또는 회귀로 사용되었는지에 따라 다르다.거리가장 흔하게 사용되는 거리척도는 유클리드 거리이다. 이산 변수의 경우 중첩거리(또는 해밍거리)와 같은 다른 척도가 사용될 수 있다. 종종 거리 척도가 Large Margin Nearest Neighbor or Neighbourhood components analysis 를 통해 학습된다면 k-NN 분류의 정확성을 상당히 향상시킬 수 있다.cs231n에서 KNN Classifier에 대해 설명하고 있으며 이를 통해 이미지 분류기를 만든다. 위 그림을 ..
-
유사도 구하기 (피어슨 상관계수)machine learning 2019. 3. 13. 19:16
피어슨 상관계수(Pearson correlation coefficient)Mathematical Expression유사도를 구하는 다른 방법중엔유클리디안, 코사인, 맨하튼 거리, 타니모토 계수등이 있다. 피어슨 상관계수는 두 변수의 선형관계를 파악하기 위해 사용하며 결과값 r은 (X와 Y가 함께 변하는 정도) / (X와 Y가 따로 변하는 정도) 이다.Code이 예제는 programming collective intelligence에 나오는 pearsson 함수입니다.def sim_pearson(prefs,p1,p2): # Get the list of mutually rated items si={} for item in prefs[p1]: if item in prefs[p2]: si[item]=1# if ..
-
타니모토 계수(Tanimoto coefficient)machine learning 2019. 3. 13. 19:15
타니모토 계수는 두 집합간의 유사도를 측정한다. 하지만 아이템에 선호도의 점수는 보지 않으며 아이템이 존재하는지(선호하는지) 여부만 체크하게 된다.Mathematical ExpressionCodec는 a와 b의 교집합이다.def tanimoto(a,b): c=[v for v in a if v in b] return float(len(c))/len(a)+len(b)-len(c)Result결과값이 0이면 유사한 아이템이 전혀 없다는것이고 1이면 100% 아이템이 유사하다는 의미다.타니모토 계수는 여러집합군중에서 유사한 집합을 분류하고 그 집합내의 유사도를 구하여 유사한 집합간의 아이템을 추천해주는곳에 사용될 수 있다.