목록기초 수학 (10)
Logical Scribbles
오늘은 대망의 PCA에 대해 살펴보자. PCA는 차원을 축소하고 추출하는데에 있어 많은 활용이 되고 있는 방법이다. PCA를 이해하려면 고유값 분해와 공분산 행렬을 알고 있어야 한다. 또한, 대칭행렬에서의 고유값 분해의 독특한 특징을 알고 있으면 좋다. 너무나도 중요한 토픽이라 대칭행렬의 고유값 분해와 공분산 행렬에 대해 복습하며 시작하겠다. 고유값 분석과 대칭행렬에서의 특징은 아래의 글에 잘 정리가 되어 있다. [선형대수학] 고유값 분해 지난 포스팅에서 고유값과 고유벡터에 대해 알아보았다. [선형대수학] 고유값(Eigenvalue)과 고유벡터(Eigenvector) 고유값과 고유벡터를 이해하기 위해서는 선형변환과 행렬의 의미에 대해 먼저 알아 stydy-sturdy.tistory.com 1. 대칭행렬의..
이번 포스팅에서는 PCA(주성분 분석)을 이용하여 Python에서 얼굴 인식을 진행해보자. PCA에 대한 글은 곧 올릴 예정이다. 크게 두가지 알고리즘으로 성능 평가를 해볼 것이다. k-NN 알고리즘 SVM 데이터는 sklearn에서 제공하는 'fetch_lfw_people'이라는 데이터셋을 사용할 것이다. sklearn.datasets.fetch_lfw_people Examples using sklearn.datasets.fetch_lfw_people: Faces recognition example using eigenfaces and SVMs scikit-learn.org 데이터셋의 구성은 다음과 같다. 먼저 필요한 모듈들과 데이터셋을 다운 받아오자. from google.colab import dr..
[선형대수학] 특이값 분해(SVD) 지난 시간에는 고유값 분해에 대해 알아보았다. [선형대수학] 고유값 분해 지난 포스팅에서 고유값과 고유벡터에 대해 알아보았다. [선형대수학] 고유값(Eigenvalue)과 고유벡터(Eigenvector) 고유값과 stydy-sturdy.tistory.com 지난 포스팅에서는 특이값 분해의 전반적인 개념과 식에 대해 알아보았다. 이번에는 특이값 분해를 활용하여 두가지를 알아볼 것이다. 첫번째는 데이터 압축이고, 두번째는 pseudo inverse이다. 이 파트는 노트 정리로 대체하겠다! 끝!
지난 시간에는 고유값 분해에 대해 알아보았다. [선형대수학] 고유값 분해 지난 포스팅에서 고유값과 고유벡터에 대해 알아보았다. [선형대수학] 고유값(Eigenvalue)과 고유벡터(Eigenvector) 고유값과 고유벡터를 이해하기 위해서는 선형변환과 행렬의 의미에 대해 먼저 알아 stydy-sturdy.tistory.com 짧게 복습을 하자면, 고유값 분해는 정방행렬 A에 대해 적용될 수 있으며 행렬을 인수분해하는 과정이고, 선형변환 A를 구성하는 선형변환들을 뜯어서 볼 수 있었다.(돌리고, 늘리고, 돌리고) 또한, 정방행렬 A가 대칭행렬일 때 고유값 분해가 더 파워풀함을 알 수 있었다. (직교 돌리기, 늘리기, 직교 돌리기) 마지막으로, 모든 정방행렬이 고유값 분해가 되는 것은 아니지만 모든 대칭행렬..
지난 포스팅에서 고유값과 고유벡터에 대해 알아보았다. [선형대수학] 고유값(Eigenvalue)과 고유벡터(Eigenvector) 고유값과 고유벡터를 이해하기 위해서는 선형변환과 행렬의 의미에 대해 먼저 알아야 한다. [선형대수학] 선형변환과 행렬 이번 포스팅에서는 선형변환에 대해 알아보자. 본격적으로 선형변환 stydy-sturdy.tistory.com 이번에 알아볼 고유값 분해와 이후 소개할 특이값 분해는 행렬의 내부 구조를 파악하거나 효율적인 계산을 가능하게 하는 수학적인 스킬이다. 이전에 행렬곱에 대해 살펴본 적 있다. 이는 행렬을 실수처럼 곱셈 해보자는 아이디어인데, 다들 어릴 적 곱셈공식을 배우고 인수분해를 배웠던 기억이 있을 것이다. 마찬가지로, 두 행렬을 곱할 수 있는 것처럼 한 행렬도 두..
고유값과 고유벡터를 이해하기 위해서는 선형변환과 행렬의 의미에 대해 먼저 알아야 한다. [선형대수학] 선형변환과 행렬 이번 포스팅에서는 선형변환에 대해 알아보자. 본격적으로 선형변환에 대해 알아보기 전, 행렬(Matrix)이 무엇인지부터 알아보도록 하자. 결론부터 말하면, 행렬은 선형변환이다. 선형변환이란 stydy-sturdy.tistory.com 위 포스팅을 이해했다면, 고유값과 고유벡터의 이해는 매우 쉽다. 어떤 선형변환에 의해 기존의 기저는 새로운 기저로 바뀔 것이다. 이 기저가 바뀜에 따라 기존의 기저로 표현되던 모든 공간상의 점들은 새로운 기저를 통해 표현이 될 것이다. 이렇게 새로운 기저를 통해 표현된 벡터는 기존의 방향과 다른 방향을 가리킬 가능성이 매우 높다. 말로만 하면 어려우니 다음 ..
지난 포스팅에서는 행렬식의 기하학적 의미에 대해 살펴보았다. [선형대수학] 행렬식의 기하학적 의미 이번 포스팅에서는 선형대수학에서의 행렬식에 대해 알아보도록 하자.행렬식 (Determinant) Determinant 라고도 불리는 행렬식의 notation은 다음과 같다.이제부터 우리는 '정방행렬'에 주목할 것이다. stydy-sturdy.tistory.com 이번에는 이 행렬식의 기하학적 의미의 연장선상에서 역행렬을 바라보려고 한다. 간단하게 역행렬이란 정방행렬의 역원이다. 수학적으로 'X의 역원'이란 X와의 정의된 연산을 통해 결과값이 항등원이 되는 것을 말한다. 실수 관점에서 3의 덧셈 역원은 3과 덧셈 연산이 이루어져 덧셈 항등원 0이 나오는 수, 즉 -3이고 3의 곱셈 역원은 3과 곱셈 연산이 이..
이번 포스팅에서는 선형대수학에서의 행렬식에 대해 알아보도록 하자. 행렬식 (Determinant) Determinant 라고도 불리는 행렬식의 notation은 다음과 같다. 이제부터 우리는 '정방행렬'에 주목할 것이다. 정방행렬(square matrix)이란 같은 수의 행과 열을 갖는 행렬을 의미한다. 왜 정방행렬에 주목해야 하는지에 대해서는 차차 알아보자. 2X2 정방행렬에서 행렬식은 다음과 같이 정의된다. 2차원 정방행렬에서 행렬식은 쉽게 계산할 수 있다. 하지만 이 행렬식이 의미하는 것은 무엇일까? 결론부터 말하면 행렬식은 선형변환 이후 단위면적의 넓이 변화이다. 다음과 같은 i,j 기저로 이루어진 사각형의 넓이를 살펴보자. 너무나 쉽게 벡터 i, 벡터 j가 만드는 사각형의 넓이는 1임을 알 수 ..