목록머신러닝/차원축소 (3)
데이터로그😎
특잇값분해!!! 고유값 분해와 달리 모든 행렬에 적용 가능: 이미지 처리, 자연어 처리, 추천 시스템 등에 사용 A = UΣV^T A: m x n 크기의 행렬 특이벡터: U: m x m 크기의 직교행렬(orthogonal matrix) (A행렬의 행) V: n x n 크기의 직교행렬 (A행렬의 열) Σ: m x n 크기의 직사각 대각행렬(rectangular diagonal matrix)이며, 대각원소인 특이값(singular value)들은 0 이상의 실수 (A행렬 행x열) SVD(Singular Value Decomposition) Σ의 비대각 부분과 특이값 중 0인 부분을 제거 제거된 Σ에 대응하는 U와 V원소도 함께 제거하여 차원 줄이는 것 불러올 때from scipy.linalg import s..
LDA vs PCA PCA LDA 특징 주성분 분석 = 주가 되는 성분을 분석한다. PCA는 데이터의 고차원 공간에서 *가장 많은 분산(변동성)을 가지는 방향*을 찾아서 이를 기반으로 데이터를 저차원 공간으로 변환한다. PCA에서 '가장 많은 분산을 가지는'은 주어진 데이터셋에서 가장 많은 정보를 가지는 축(axis)을 찾는 것을 의미 PCA와 유사하지만 중요한 차이점은 LDA에서는 지도학습의 분류(classification)에 사용하기 쉽도록 개별 클래스를 분별할 수 있는 기준을 최대한 유지하면서 차원을 축소함. 입력 데이터의 결정 값 클래스를 최대한으로 분리할 수 있는 축을 찾는다. 클래스 간 분산과 클래스 내부 분산의 비율을 최대화하는 방식으로 차원을 축소. 클래스 간 분산은 최대한 크게 가져가고,..
차원축소의 대표적인 알고리즘 1. PCA 2. LDA 3. SVD 4. NMF 고차원 데이터의 문제점 수백 개 이상의 피처로 구성된 데이터 세트의 경우, 예측 신뢰도가 떨어진다. 피처가 많으면 개별 피처 간에 상관관계가 높을 가능성이 큼 → 다중 공선성 문제 발생 → 모델 예측 성능 저하 따라서 피처 축소 필요 (차원 축소) 차원축소란? 피처 선택, 피처 추출로 나뉨 피처 선택(feature selection): 주요 피처만 선택하고 불필요 피처 제거 피처 추출(feature extraction): 잠재적 요소 추출. ex) 수능성적, 모의고사 성적, 내신성적 => 학업성취도로 요약 말그대로 데이터의 차원을 줄이는 것 고차원 데이터를 다룰 때 차원의 저주로 인해 모델링이 어려워지고 성능이 저하되는 문제 ..