주성분 분석의 총결

4465 단어 주성분 분석
이 보도는 개인 학습용 필기다.
강의록
주성분 분석
  • 무교사 학습
  • 감소 변수(특징량)의 개수=감소 차원.
  • 차원을 줄일 때 정보량을 최대한 낮추지 않는다.
  • 2D 및 3D로 내려가면 시각화할 수 있습니다.
  • 방법을 찾다
  • 모든 데이터에서 각 성분에 대해 평균값을 얻는다
  • 모든 데이터에서 평균치와 차이가 난다.(성분이 나쁜 팀을 구성한다.)
  • 이 행렬의 방차를 확정한다.(색산 협방차 행렬)
  • 선형 변환 후의 벡터를 얻는다.
  • 방차 협방차 행렬
    이른바 방차 협방차 행렬이란 모든 데이터에 대해 협방차를 구하고 이를 행렬로 하는 행렬을 가리킨다.
    대칭 행렬.
    대각 성분은 같은 데이터 사이의 공분산이기 때문에 단순한 분산일 뿐이다.
    실크 키워드
  • 협방차 행렬의 창설np.cov
  • 특징치분해np.linalg.eig
    반환값은 원조이고 첫 번째는 특징값이며 두 번째는 본 징향량
  • 이다.
  • 정렬 색인np를 가져옵니다.argsort
    매개변수에 -1을 지정하면 내림차순이 표시됩니다.
    이 함수는 정렬된 색인만 되돌려줍니다.
  • 용어
    차원의 저주
    Bellman "공간의 차원 증가에 대응하여 문제의 복잡도는 지수 증가"
  • 구면집중현상
    고급 원시 공간의 상황에서 데이터는 초구면에 분포하기 쉽다.
    고차원에 이르러 점은 거의 같은 거리이다.
  • 특징 선택
    특징량의 조합을 최적화하다.
  • 공헌도
    어떤 특징 값이 전체의 몇 비율로 정보를 포함합니까?
    공헌률이 높은 고유치를 성분으로 채택하다.
  • 실장 훈련

    pca.explained_variance_ratio_변수는 성분의 비율에 따라 내림차순으로 저장된다.
    나는 그것을 줄무늬 그림에 표시했다.
    첫 번째 성분은 45% 정도, 두 번째 성분은 20% 정도인데, 이 두 성분만 65% 정도 된다.
    정보를 표현할 수 있다는 뜻을 나타낸다.

    몇 가지 다른 분야에 포함돼 제대로 분류되지 않는 부분이 많다.
    97%였는데 이에 비해 누적된 기여율이 65% 정도면 정확도가 크게 떨어지기 때문이다.
    수료시험~ 연습문제~
    문제76(주성분 분석)
    위키백과
    주성분 분석은 관련이 있는 다수의 변수 중에서 관련이 없는 소수로 전체의 편차를 판단한다
    다변수 분석의 한 방법으로 가장 흔히 볼 수 있는 주성분으로 불리는 변수를 합성하는 데 쓰인다.
    변수를 삭제하는 것이 아닙니다.
    문제77(주성분분석)
    주성분 분석의 계산 과정에서 계산이 분산되다.
    가장 분산된 성분을 찾기 위해
    문제78(주성분 분석)
    a_1=
    \begin{pmatrix}
    a_{1x}\\
    a_{1y}
    \end{pmatrix}
    ,
    
    a_2=
    \begin{pmatrix}
    a_{2x}\\
    a_{2y}
    \end{pmatrix}
    ,
    
    a_3=
    \begin{pmatrix}
    a_{3x}\\
    a_{3y}
    \end{pmatrix}\\
    e=
    \begin{pmatrix}
    e_{x}\\
    e_{y}
    \end{pmatrix}\\
    
    分散 V=
    \frac{(a_1e)^2+(a_2e)^2+(a_3e)^2}{3}
    
    변형 후
    分散 V=e^TXe
    
    행렬 $X$을 합방차 행렬이라고 합니다.
    연습 문제
    공식적인 훈련 문제는 발견되지 않았다.
    어떤 문제집으로 공부를 대신하다.
    def pca(X, n_components):
      X = X - X.mean(axis=0)
      cov = np.cov(X, rowvar=False)
      l, v = np.linalg.eig(cov)
      l_index = np.argsort(l)[::-1]
      v_ = v[:,l_index]
      components = v_[:,:n_components]
      T = np.dot(X, components)
      return T
    
  • 평균
  • 색산 협방차 매트릭스 획득
  • 특징값과 고유 벡터를 구한다
  • 내림차순 정렬 특징값에 사용할 색인 구하기
  • 내림차순으로 본 징향량을 정렬
  • n_components의 개수만 잘라내는 고유 벡터
  • 데이터를 저차원 공간에 투영
  • scikit-learn을 사용하지 않아도 Pythn만 이렇게 짧은 코드를 사용할 수 있습니다
    PCA를 구현할 수 있습니다.

    좋은 웹페이지 즐겨찾기