SlideShare a Scribd company logo
1 of 11
추천 알고리즘
KNN알고리즘
유사도
정정윤 Date. 2021-10-03
알고리즘 종류
KNN 알고리즘
특징 설명
최고인접 다수결 기존 데이터 중 가장 유사한 k개의 데이터를 측정하여 분류
유사도(거리) 기반
유클리디안 거리(Euclidian's distance), 마할라노비스의 거리(Mahalanobis' distance),
코사인 유사도(cosine similarity)등을 활용
Lazy learning 기법
- 새로운 입력 값이 들어온 후 분류시작
- 데이터셋을 저장만 하고 일반화된 모델을 능동적으로 만들거나 하지는 않음
- 데이터가 들어온 후에 분류 및 처리한다는 의미
단순 유연성 모형이 단순하며 파라미터의 가정이 거의 없음
NN(Nearest Neighbors)
개선
- KNN은 가장 근접한 k개의 데이터에 대한 다수결 내지 가중합계 방식으로 분류
- NN의 경우 새로운 항목을 분류할 때 가장 유사한 instance를 찾아서
같은 class에 일방적으로 분류 시 잡음 섞인 데이터에는 성능이 좋지 못함
- 새로운 fingerprint를 기존 클러스터 내의 모든 데이터와 Instance 기반거리를 측정하여 가장
많은 속성을 가진 클러스터에 할당하는 군집알고리즘
- 기존 데이터 중 가장 유사한 k개의 데이터를 이용해서 새로운 데이터를 예측하는 방법
KNN 알고리즘
1) 새로운 fingerprint입력(물음표, 동그라미) 확인
2) 거리기반 k개 데이터를 training set에서 추출
3) 추출데이터들의 클러스터, label 확인
4) 다수결(Majority voting) 의한 클러스터 매칭
-> 결과 새로운 fingerprint는 K가 3인 경우 삼각형, 5인 경우 사각형 클러스터에 매칭됨
KNN 알고리즘
동작원리 설명
Fingerprint 확인
- 새로운 입력값 확인
- 가까운 데이터는 같은 Label(클러스터 가능성 큼)
- 기존의 모든 데이터와 새로운 fingerprint와 비교준비
명목변수 기반 그룹분류
- 기존의 저장되어있는 데이터 셋의 label화
- 서로 다른 범주 데이터를 정규화 수행
- 분류기 검사 수행
예: 데이터의 90%를 훈련데이터 10%를 테스트로 활용
거리측정
- 유클리디언 거리
- 메모리기반 fingerprint와 모든 데이터간의 거리계산
- 계산된 거리의 정렬수행
K 선정
- 양의 정수값, 정렬된 거리 중 가장 가까운 k개 데이터 선정
- 여러 k값을 모델링 후 가장 성능이 좋은 k값 선정
- 노이즈 클수록 큰 k값 선정이 좋음
- 작은 k는 극단값 및 노이즈를 허용하여 클러스터링 오류가능
클러스터 매칭
- 명목 데이터 경우, 다수결(majority voting)기반의 클러스터 매칭 수행,
k개 데이터가 많이 속해있는 클러스터로 새로운 값을 분류
- 수치형 데이터의 경우 k개 데이터의 평균(or 가중평균)을 이용하여 클러스터 매칭
KNN 알고리즘
장점 설명
효율성 - 훈련데이터에 잡음이 있는 경우에도 적용가능
결과일관성
- 훈련데이터의 크기가 클 경우 효율적임
(데이터의 수가 무한대로 증가시 오차율이 베이즈 오차율의
두 배보다
항상 나쁘지 않음을 보장)
- 임의의 k값에 대해 베이즈 오차율에 항상 근접함을 보장
학습간단 - 모형이 단순하고 쉬운 구현 가능
유연한 경계
- 거리의 변형, 가중치 적용용이
- 유클리디언, 코사인유사도, 가중치 적용, 정규화적용 용이
모델의 유연성
- 데이터에 대한 가정 반영 및 변형이 간편
- 변형데이터의 training data set 기반 분류기 검증용이
높은 정확도
- 사례기반으로 높은 정확성
- 훈련데이터 클수록 클러스터 매칭 정확성 좋아짐
단점 설명
성능가변성
- k값 선정에 따라 알고리즘의 성능이 좌우됨
- k값 최적화, under/overfitting의 고려필요
높은 자원요
구량
- 데이터 셋 전체를 읽어서 메모리에 기억
- 새로운 개체 n을 읽어서 메모리 내의 데이터
셋과 비교
고비용
- 모든 훈련샘플과의 거리를 계산하여야 하므
로 연산비용(cost)이 높음
공간예측 부
정확
- 공간정보 예측모델에서는 영향변수 많이 적
용이 어려움
거리계산 복
잡성
- 모든 데이터와의 유사도, 거리측정 수행필
요
노이즈에 약
함
- 노이즈로 인해 큰 k 설정을 필요로 함
- 민감하고 작은 데이터 무시되는 under
fitting 문제야기
전제조건
유사도 (1) 코사인 유사도(cosine similarity)
두 벡터의 원소들은 모두 양수
•벡터의 원소수는 같아야 함
용도
1.검색 엔진에서 검색어(Query)와 문서(Document)의
유사도를 구해서 가장 유사도가 높은 것을 먼저 보여주
기 위한 기본 랭킹 을 위한 알고리즘으로사용 .
2.텍스트마이닝에서 사용 : 단어집합들 간의 유사도를
구하기 위해서 코사인 유사도를 사용하는 것이 빈번하게
나옵니다. 그래서 word2vec 같은 딥러닝 모델 사용.
3.클러스터링(Clustering, 군집화) . 군집화 모델에서
데이터 포인트를 서로 묶을때
코사인 유사도(cosine
similarity
내적 공간의 두 벡터간 각도의 코사인값을 이용하여 측정된 벡
터간의 유사한 정도
두 벡터 간의 코사인 각도를 이용하여 구할 수 있는 두 벡터의 유사도를 의미한다.
두 벡터의 방향이 완전히 동일한 경우에는 1의 값을 가지며, 90°의 각을 이루면 0, 180°로 반
대의 방향을 가지면 -1의 값을 갖는다.
즉, 결국 코사인 유사도는 -1 이상 1 이하의 값을 가지며 값이 1에 가까울수록 유사도가 높다
고 판단할 수 있다.
유사도 (1) 코사인 유사도(cosine similarity)
자카드 (cosine similarity
boolean 속성의 두개의 오브젝트 A,B에 대하여 A와B가 1(true)
의 값을 가지는 교집합의 개수를 A와 B가 1(true)의값을 가지는
합집합의 개수는 나눈 수
유사도 (2) 자카드 유사도(cosine similarity)
피어슨 유사도
두 벡터의 상관계수를 의미.
유사도가 높을경우1, 낮을경우 -1을 가짐
특정인물의 점수기준이 극단적으로 너무 낮거나 높을때 이를 막
기 위해 사관계수를 사용하는 방법.
유사도 (3) 피어슨피 유사도(Pearson similarity)
감사합니다
빅데이터사업부 정정윤 Date. 2021-10-03

More Related Content

Similar to Cop 2주차발표 복사본

Chapter 6 Deep feedforward networks - 2
Chapter 6 Deep feedforward networks - 2Chapter 6 Deep feedforward networks - 2
Chapter 6 Deep feedforward networks - 2KyeongUkJang
 
Learning by association
Learning by associationLearning by association
Learning by association홍배 김
 
PR12 Season3 Weight Agnostic Neural Networks
PR12 Season3 Weight Agnostic Neural NetworksPR12 Season3 Weight Agnostic Neural Networks
PR12 Season3 Weight Agnostic Neural NetworksKyunghoon Jung
 
3.unsupervised learing
3.unsupervised learing3.unsupervised learing
3.unsupervised learingHaesun Park
 
Visualizing data using t-SNE
Visualizing data using t-SNEVisualizing data using t-SNE
Visualizing data using t-SNE홍배 김
 
차세대컴퓨팅학회발표 최종자료(권영모)
차세대컴퓨팅학회발표 최종자료(권영모)차세대컴퓨팅학회발표 최종자료(권영모)
차세대컴퓨팅학회발표 최종자료(권영모)youngmo
 
5일차.map reduce 활용
5일차.map reduce 활용5일차.map reduce 활용
5일차.map reduce 활용주영 송
 
DeepAR:Probabilistic Forecasting with Autogressive Recurrent Networks
DeepAR:Probabilistic Forecasting with Autogressive Recurrent Networks DeepAR:Probabilistic Forecasting with Autogressive Recurrent Networks
DeepAR:Probabilistic Forecasting with Autogressive Recurrent Networks pko89403
 
PR-203: Class-Balanced Loss Based on Effective Number of Samples
PR-203: Class-Balanced Loss Based on Effective Number of SamplesPR-203: Class-Balanced Loss Based on Effective Number of Samples
PR-203: Class-Balanced Loss Based on Effective Number of SamplesSunghoon Joo
 
[Tf2017] day3 jwkang_pub
[Tf2017] day3 jwkang_pub[Tf2017] day3 jwkang_pub
[Tf2017] day3 jwkang_pubJaewook. Kang
 
3.unsupervised learing(epoch#2)
3.unsupervised learing(epoch#2)3.unsupervised learing(epoch#2)
3.unsupervised learing(epoch#2)Haesun Park
 
Learning how to explain neural networks: PatternNet and PatternAttribution
Learning how to explain neural networks: PatternNet and PatternAttributionLearning how to explain neural networks: PatternNet and PatternAttribution
Learning how to explain neural networks: PatternNet and PatternAttributionGyubin Son
 
검색엔진에 적용된 딥러닝 모델 방법론
검색엔진에 적용된 딥러닝 모델 방법론검색엔진에 적용된 딥러닝 모델 방법론
검색엔진에 적용된 딥러닝 모델 방법론Tae Young Lee
 
News clustering and Recommendation system using Word Embedding
News clustering and Recommendation system using Word EmbeddingNews clustering and Recommendation system using Word Embedding
News clustering and Recommendation system using Word EmbeddingJunyoung Park
 
Densely Connected Convolutional Networks
Densely Connected Convolutional NetworksDensely Connected Convolutional Networks
Densely Connected Convolutional NetworksOh Yoojin
 
From maching learning to deep learning
From maching learning to deep learningFrom maching learning to deep learning
From maching learning to deep learningYongdae Kim
 

Similar to Cop 2주차발표 복사본 (20)

Chapter 6 Deep feedforward networks - 2
Chapter 6 Deep feedforward networks - 2Chapter 6 Deep feedforward networks - 2
Chapter 6 Deep feedforward networks - 2
 
Learning by association
Learning by associationLearning by association
Learning by association
 
PR12 Season3 Weight Agnostic Neural Networks
PR12 Season3 Weight Agnostic Neural NetworksPR12 Season3 Weight Agnostic Neural Networks
PR12 Season3 Weight Agnostic Neural Networks
 
3.unsupervised learing
3.unsupervised learing3.unsupervised learing
3.unsupervised learing
 
Visualizing data using t-SNE
Visualizing data using t-SNEVisualizing data using t-SNE
Visualizing data using t-SNE
 
차세대컴퓨팅학회발표 최종자료(권영모)
차세대컴퓨팅학회발표 최종자료(권영모)차세대컴퓨팅학회발표 최종자료(권영모)
차세대컴퓨팅학회발표 최종자료(권영모)
 
5일차.map reduce 활용
5일차.map reduce 활용5일차.map reduce 활용
5일차.map reduce 활용
 
DeepAR:Probabilistic Forecasting with Autogressive Recurrent Networks
DeepAR:Probabilistic Forecasting with Autogressive Recurrent Networks DeepAR:Probabilistic Forecasting with Autogressive Recurrent Networks
DeepAR:Probabilistic Forecasting with Autogressive Recurrent Networks
 
Automl
AutomlAutoml
Automl
 
S.M.Lee, Invited Talk on "Machine Learning-based Anomaly Detection"
S.M.Lee, Invited Talk on "Machine Learning-based Anomaly Detection"S.M.Lee, Invited Talk on "Machine Learning-based Anomaly Detection"
S.M.Lee, Invited Talk on "Machine Learning-based Anomaly Detection"
 
PR-203: Class-Balanced Loss Based on Effective Number of Samples
PR-203: Class-Balanced Loss Based on Effective Number of SamplesPR-203: Class-Balanced Loss Based on Effective Number of Samples
PR-203: Class-Balanced Loss Based on Effective Number of Samples
 
[Tf2017] day3 jwkang_pub
[Tf2017] day3 jwkang_pub[Tf2017] day3 jwkang_pub
[Tf2017] day3 jwkang_pub
 
SLRA
SLRASLRA
SLRA
 
3.unsupervised learing(epoch#2)
3.unsupervised learing(epoch#2)3.unsupervised learing(epoch#2)
3.unsupervised learing(epoch#2)
 
Learning how to explain neural networks: PatternNet and PatternAttribution
Learning how to explain neural networks: PatternNet and PatternAttributionLearning how to explain neural networks: PatternNet and PatternAttribution
Learning how to explain neural networks: PatternNet and PatternAttribution
 
검색엔진에 적용된 딥러닝 모델 방법론
검색엔진에 적용된 딥러닝 모델 방법론검색엔진에 적용된 딥러닝 모델 방법론
검색엔진에 적용된 딥러닝 모델 방법론
 
News clustering and Recommendation system using Word Embedding
News clustering and Recommendation system using Word EmbeddingNews clustering and Recommendation system using Word Embedding
News clustering and Recommendation system using Word Embedding
 
Convolutional rnn
Convolutional rnnConvolutional rnn
Convolutional rnn
 
Densely Connected Convolutional Networks
Densely Connected Convolutional NetworksDensely Connected Convolutional Networks
Densely Connected Convolutional Networks
 
From maching learning to deep learning
From maching learning to deep learningFrom maching learning to deep learning
From maching learning to deep learning
 

Cop 2주차발표 복사본

  • 3. KNN 알고리즘 특징 설명 최고인접 다수결 기존 데이터 중 가장 유사한 k개의 데이터를 측정하여 분류 유사도(거리) 기반 유클리디안 거리(Euclidian's distance), 마할라노비스의 거리(Mahalanobis' distance), 코사인 유사도(cosine similarity)등을 활용 Lazy learning 기법 - 새로운 입력 값이 들어온 후 분류시작 - 데이터셋을 저장만 하고 일반화된 모델을 능동적으로 만들거나 하지는 않음 - 데이터가 들어온 후에 분류 및 처리한다는 의미 단순 유연성 모형이 단순하며 파라미터의 가정이 거의 없음 NN(Nearest Neighbors) 개선 - KNN은 가장 근접한 k개의 데이터에 대한 다수결 내지 가중합계 방식으로 분류 - NN의 경우 새로운 항목을 분류할 때 가장 유사한 instance를 찾아서 같은 class에 일방적으로 분류 시 잡음 섞인 데이터에는 성능이 좋지 못함 - 새로운 fingerprint를 기존 클러스터 내의 모든 데이터와 Instance 기반거리를 측정하여 가장 많은 속성을 가진 클러스터에 할당하는 군집알고리즘 - 기존 데이터 중 가장 유사한 k개의 데이터를 이용해서 새로운 데이터를 예측하는 방법
  • 4. KNN 알고리즘 1) 새로운 fingerprint입력(물음표, 동그라미) 확인 2) 거리기반 k개 데이터를 training set에서 추출 3) 추출데이터들의 클러스터, label 확인 4) 다수결(Majority voting) 의한 클러스터 매칭 -> 결과 새로운 fingerprint는 K가 3인 경우 삼각형, 5인 경우 사각형 클러스터에 매칭됨
  • 5. KNN 알고리즘 동작원리 설명 Fingerprint 확인 - 새로운 입력값 확인 - 가까운 데이터는 같은 Label(클러스터 가능성 큼) - 기존의 모든 데이터와 새로운 fingerprint와 비교준비 명목변수 기반 그룹분류 - 기존의 저장되어있는 데이터 셋의 label화 - 서로 다른 범주 데이터를 정규화 수행 - 분류기 검사 수행 예: 데이터의 90%를 훈련데이터 10%를 테스트로 활용 거리측정 - 유클리디언 거리 - 메모리기반 fingerprint와 모든 데이터간의 거리계산 - 계산된 거리의 정렬수행 K 선정 - 양의 정수값, 정렬된 거리 중 가장 가까운 k개 데이터 선정 - 여러 k값을 모델링 후 가장 성능이 좋은 k값 선정 - 노이즈 클수록 큰 k값 선정이 좋음 - 작은 k는 극단값 및 노이즈를 허용하여 클러스터링 오류가능 클러스터 매칭 - 명목 데이터 경우, 다수결(majority voting)기반의 클러스터 매칭 수행, k개 데이터가 많이 속해있는 클러스터로 새로운 값을 분류 - 수치형 데이터의 경우 k개 데이터의 평균(or 가중평균)을 이용하여 클러스터 매칭
  • 6. KNN 알고리즘 장점 설명 효율성 - 훈련데이터에 잡음이 있는 경우에도 적용가능 결과일관성 - 훈련데이터의 크기가 클 경우 효율적임 (데이터의 수가 무한대로 증가시 오차율이 베이즈 오차율의 두 배보다 항상 나쁘지 않음을 보장) - 임의의 k값에 대해 베이즈 오차율에 항상 근접함을 보장 학습간단 - 모형이 단순하고 쉬운 구현 가능 유연한 경계 - 거리의 변형, 가중치 적용용이 - 유클리디언, 코사인유사도, 가중치 적용, 정규화적용 용이 모델의 유연성 - 데이터에 대한 가정 반영 및 변형이 간편 - 변형데이터의 training data set 기반 분류기 검증용이 높은 정확도 - 사례기반으로 높은 정확성 - 훈련데이터 클수록 클러스터 매칭 정확성 좋아짐 단점 설명 성능가변성 - k값 선정에 따라 알고리즘의 성능이 좌우됨 - k값 최적화, under/overfitting의 고려필요 높은 자원요 구량 - 데이터 셋 전체를 읽어서 메모리에 기억 - 새로운 개체 n을 읽어서 메모리 내의 데이터 셋과 비교 고비용 - 모든 훈련샘플과의 거리를 계산하여야 하므 로 연산비용(cost)이 높음 공간예측 부 정확 - 공간정보 예측모델에서는 영향변수 많이 적 용이 어려움 거리계산 복 잡성 - 모든 데이터와의 유사도, 거리측정 수행필 요 노이즈에 약 함 - 노이즈로 인해 큰 k 설정을 필요로 함 - 민감하고 작은 데이터 무시되는 under fitting 문제야기
  • 7. 전제조건 유사도 (1) 코사인 유사도(cosine similarity) 두 벡터의 원소들은 모두 양수 •벡터의 원소수는 같아야 함 용도 1.검색 엔진에서 검색어(Query)와 문서(Document)의 유사도를 구해서 가장 유사도가 높은 것을 먼저 보여주 기 위한 기본 랭킹 을 위한 알고리즘으로사용 . 2.텍스트마이닝에서 사용 : 단어집합들 간의 유사도를 구하기 위해서 코사인 유사도를 사용하는 것이 빈번하게 나옵니다. 그래서 word2vec 같은 딥러닝 모델 사용. 3.클러스터링(Clustering, 군집화) . 군집화 모델에서 데이터 포인트를 서로 묶을때
  • 8. 코사인 유사도(cosine similarity 내적 공간의 두 벡터간 각도의 코사인값을 이용하여 측정된 벡 터간의 유사한 정도 두 벡터 간의 코사인 각도를 이용하여 구할 수 있는 두 벡터의 유사도를 의미한다. 두 벡터의 방향이 완전히 동일한 경우에는 1의 값을 가지며, 90°의 각을 이루면 0, 180°로 반 대의 방향을 가지면 -1의 값을 갖는다. 즉, 결국 코사인 유사도는 -1 이상 1 이하의 값을 가지며 값이 1에 가까울수록 유사도가 높다 고 판단할 수 있다. 유사도 (1) 코사인 유사도(cosine similarity)
  • 9. 자카드 (cosine similarity boolean 속성의 두개의 오브젝트 A,B에 대하여 A와B가 1(true) 의 값을 가지는 교집합의 개수를 A와 B가 1(true)의값을 가지는 합집합의 개수는 나눈 수 유사도 (2) 자카드 유사도(cosine similarity)
  • 10. 피어슨 유사도 두 벡터의 상관계수를 의미. 유사도가 높을경우1, 낮을경우 -1을 가짐 특정인물의 점수기준이 극단적으로 너무 낮거나 높을때 이를 막 기 위해 사관계수를 사용하는 방법. 유사도 (3) 피어슨피 유사도(Pearson similarity)