일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- machineleaning
- CNN
- 데이터 사이언티스트
- numpy
- data analyst
- EDA
- data
- 데이터 분석가
- 멋쟁이사자처럼
- python
- SQL
- deep learning
- Machine Learning
- 파이썬
- 데이터분석가
- DNN
- Data Science
- data analysis
- 범죄통계
- pandas
- Deeplearning
- Tableau
- AISCHOOL
- ai
- Data Scientist
- MachineLearning
- machinelearing
- Today
- Total
Molybdenum의 개발기록
[Python] MachineLearning_SVD 본문
- 고유벡터 : 선형 변환이 일어난 후에도 방향이 변하지 않는 0이 아닌 벡터
- 고윳값 : 고유벡터의 길이가 변하는 배수를 선형 변환의 그 고유 벡터에 대응하는 고윳값이라고 한다.
비음수 행렬 분해(NMF)
: 일반적으로 비음수 행렬 분해는 근사를 통해 이루어지지만 추가적인 조건이 더해지면 정확한 행렬 분해를 얻을 수 있다
- 비음수 행렬 분해는 일반적인 확률 모델인 다항 주성분 분석 기법과 동일시 될 수 있다.
- 비음수 행렬 분해는 완화된 형태의 k평균 알고리즘으로 동일시 할 수 있다. 이는 비음수 행렬 분해를 데이터 군집화에 사용하는 이론적 토대가 된다. 그러나 k-평균 알고리즘은 비음수라는 제약조건을 가지고 있지 않다는 차이가 있다.
- 텍스트 마이닝 : 텍스트 마이닝에서 문서-용어 행렬은 문서에서 용어들의 가중치 정보를 담고 있다. 이 행렬은 비음수 행렬 분해를 이용하여 용어-요소 행렬과 요소-문서 행렬로 분해할 수 있다. 이 요소들은 문서의 내용으로부터 도출되고, 요소-문서 행렬은 관련 문서들의 정보 군집에 대한 정보를 담는다.
- 스펙트럼 데이터 분석 : 비음수 행렬 분해는 스펙트럼 데이터 분석에 응용할 수 있다. 한 가지 예시로, 비음수 행렬은 우주 상의 물체와 파편을 구분짓는데 쓰였다.
- 생물 정보 공학 : 비음수 행렬 분해는 유전자 발현 데이터를 그룹화하고, 군집된 데이터의 대표적인 유전자를 찾는데에 응용할 수 있다.
- 인터넷 거리 예측 : 비음수 행렬 분해는 인터넷 상의 거리 예측에 응용할 수 있다. 예를 들어, N개의 호스트가 있다고 하자. 각각의 호스트 사이의 거리 정보는 N×N 행렬 안에 담을 수 있고, 이를 예측해 볼 수 있다.
TSNE(t-distributed Stochastic Neighbor Embedding)
: t-SNE는 데이터 포인트의 유사성을 확률로 변환한다. 원래 공간의 친화도는 가우시안 결합 확률로 표시되고 포함된 공간의 친화도는 스튜던트 t-분포로 표시된다. 이를 통해 t-SNE는 로컬 구조에 특히 민감할 수 있으며 기존 기술에 몇 가지 다른 이점이 있다.
- t-SNE는 계산 비용이 많이 들고 PCA가 몇 초 또는 몇 분 안에 완료되는 백 만개의 샘플 데이터 세트에서 몇 시간이 걸릴 수 있다는 단점이 있다.
유사도
- 코사인 유사도
: 코사인 유사도는 내적공간의 두 벡터 간의 코사인 값을 이용하여 측정된 벡터간의 유사한 정도를 의미한다
텍스트 마이닝 분야에서, 단어 하나하나는 각각의 차원을 구성하고 문서는 각 단어가 문서에 나타나는 회수로 표현되는 벡터값을 가진다
- 유클리드 거리
: 유클리드 거리는 두 점 사이의 거리를 계산할 때 흔히 쓰는 방법이다. 이 거리를 사용하여 유클리드 공간을 정의할 수 있으며 이 거리에 대응하는 노름을 유클리드 노름이라고 부른다
- 맨해튼 거리
: 맨해튼 거리(혹은 택시 거리, L, 거리, 시가지 거리)는 유클리드 기하학의 거리 공간을 좌표에 표시된 두 점 사이의 거리(절댓값)의 차이에 따른 새로운 거리 공간으로 대신하기도 한다
- 벡터의 유사도(Vector Similarity) - 유클리디안 유사도
: 유클리드 거리는 두 점 사이의 거리를 계산할 때 흔히 쓰는 방법
유클리드 공간에서의 최단거리(직선거리)로 유클리드 거리의 값이 가장 작다는 것은 문서 간 거리가 가장 가깝다는 것을 의미한다.
- 장점 : 계산하기 쉽다
- 단점 : 결과 값이 1보다 큰 값이 나올 수 있으므로 값을 제한하는 과정이 필요하며 분포가 다르거나 범위가 다른 경우에 상관성을 놓친다
- 벡터의 유사도(Vector Similarity) - 코사인 유사도
: 내적 공간 내에서 두 벡터 사이의 코사인 각도를 구하는 방법(-1 ~ 1 사이 값을 가지며 1에 가까울 수록 유사도가 높다)
- 장점 : 어떤 개수의 차원에도 적용할 수 있지만 흔히 다차원의 양수 공간에서의 유사도 측정에서 자주 이용된다
- 단점 : 상호 상관관계를 가지는 특성을 갖는 원소들간의 유사도를 계산할 때에 성능이 낮아진다
- 벡터의 유사도(Vector Similarity) - 피어슨 유사도
: 두 벡터가 주어졌을 때 상관관계를 계산하며 각 벡터의 표본평균으로 정규화하고 코사인 유사도를 산출하면 피어슨 유사도
- 장점 : 양적 변수들 사이의 선형관계를 확인하기 쉬우며 코사인 유사도의 평점 부분에 각 유저의 평균값을 뺀 값 확인이 가능하다
- 단점 : 코사인 유사도와 마찬가지로 벡터가 지닌 스칼라들의 값의 크기에 대한 고려를 하지 않는다
- 벡터의 유사도(Vector Similarity) - 자카드 유사도
: 두 문장을 각 단어의 집합으로 생성한 뒤, 생성된 집합을 통해 유사도(고객 간의 유사도)를 측정한다.
- 장점 : 대표적인 이진평가에 대한 유사도를 측정할 수 있는 지표로 동시출현빈도를 고려해야 한다
- 단점 : 데이터가 순서나 양을 갖는 집합 데이터라면 낮은 성능을 보인다
'Python' 카테고리의 다른 글
[Python] Numpy (0) | 2023.03.29 |
---|---|
[Python] MachineLearning_Ensemble (0) | 2023.03.27 |
[Python] MachineLearning_Tree (0) | 2023.03.27 |
[Python] MachineLearning (0) | 2023.03.27 |
[Python] Online_Retail (0) | 2023.03.27 |