본문 바로가기

Linear13

# 11. PCA (Principal Component Analysis) 이론 PCA는 고차원의 데이터의 분포를 유지한채(최대한 중요한 정보를 유지한채) 차원을 낮추기 위한 알고리즘이다. 고차원에서 저차원으로 변환하는 과정에는 초평면 혹은 벡터에 정사영 혹은 투영(projection) 과정이 수행된다. 우선, 고차원 데이터에 대한 데이터의 분포를 파악하는 것이 중요하다. 분포는 데이터가 어느정도 넓게 퍼져있는가를 의미한다. 만약 위와 같은 2차원 파란색 데이터가 존재한다고 가정할 때, 1~3번 선중 어느 선이 가장 데이터를 잘 표현한다고 할 수 있을까? 직관적으로 보았을 때, 데이터가 가장 넓게 분포한 방향으로 기울어진 2번 선을 선택할 수 있을 것이다. 2번 선(벡터)에 대해 사영시키면 빨간점으로 이루어진 데이터들을 볼 수 있다. 이 점들은 하나의 선(1차원)으로 표현되며 .. 2022. 3. 7.
# 12. 선형성, 비선형성 (Linear, Non-linear) 이번 포스트에서는 선형, 비선형의 정의에 대해서 자세하게 짚고 넘어가려고 한다. 이 포스트를 작성하는 이유는 "선형" 이라는 단어에 대해 혼동되지 않기 위해서 남긴다. 처음으로 의문이 든 것은 다음 이미지에서 시작되었다. 이전 포스트에서 우리는 선형 회귀에 대한 내용을 다루었다. 위 이미지는 우리가 찾고자하는 선의 기울기와 절편을 얻기 위해 과도하게 update를 계속 진행하면 오버피팅이 발생한다는 의미를 나타낸다. 그런데, 보통 머신러닝을 배우다보면 선형을 기하학적으로 선의 모양을 유지하면 선형 (혹은 꾸불거리지 않거나)이라고 정의하는 것에서 모순을 느꼈다. 그렇다면, 오른쪽 그림은 꾸불거리면 더 이상 선형이 아니지 않은가? 왜 선형 회귀의 오버피팅이지? 라는 의문이 들었다. 답은 아래의 사이트에서 얻.. 2021. 11. 29.
# 9. 고유값 분해 (Eigen-value Decomposition) - 2 저번 포스트에서는 고유값과 고유벡터에 대해서 알아보았다. 이번 포스트에서는 실제로 행렬 A에 대해 고유값 분해를 하는 과정에 대해 알아보겠다. 우선, $n \times n$ 행렬 A에 대해 고유값과 그에 대응하는 고유벡터들을 구해야한다. 그리고 고유벡터들($v_i$)을 모아둔 행렬 $V$를 다음과 같이 정의할 수 있다. 두 번째 식에 각각의 열벡터(고유벡터)에 해당하는 고유값을 곱해보자. 그 결과 행렬 A와 V로 위와 같이 표현할 수 있다. 마지막으로 고유값들을 대각성분에 모아둔 행렬을 보자. 네 번째 식을 통해 AV 행렬을 인수분해가 가능하다. 다섯번째 식에서 각 열벡터(행렬 V의 고유벡터)들이 선형독립이라면 아래와 같이 행렬 A를 표현할 수 있다. 사실 아직 행렬 A를 분해하는 의미를 설명하지 않았다.. 2021. 11. 23.
# 11. 선형 분류와 선형 회귀 (Linear Classification & Linear Regression) 이번 포스트에서는 선형 분류와 선형 회귀에 대해 다뤄본다. 본 내용을 이전에 지도 학습(Supervised Learning)에 대해 간단하게 다루고 넘어가겠다. 지도 학습은 입력 데이터와 정답 데이터가 같이 주어져 학습하는 방식을 의미한다. 즉, 학습할 때 입력 데이터를 통해 머신러닝 모델이 예측한 데이터와 정답 데이터를 비교하면서 생기는 오차(Residual)를 보정해나가는 것을 의미한다. 근데 왜 갑자기 지도 학습에 대해 언급을 했을까? 그것은 지도 학습의 대표적으로 분류(Classification) 문제와 회귀(Regression) 문제가 있기 때문이다. 분류와 회귀는 둘다 예측 알고리즘이다. 그러나 무엇을 예측하는지가 다르다. 분류는 이산적인 값을 예측하는데에, 회귀는 연속적인 값을 예측하는데에 .. 2021. 11. 9.
# 8. QR 분해 (QR Decomposition) - 2 저번 포스트에 이어 직교 행렬과 실제로 QR 분해 활용에 대해 알아봅니다. 결론부터 얘기하면 직교 행렬은 곧 직교 좌표계를 의미한다. 행렬의 각 열벡터가 직교할 경우 해당 행렬은 직교 좌표계를 의미한다. 정규직교행렬은 각 열벡터를 정규화함으로써 각 열벡터의 크기가 1인 행렬을 의미한다. 즉, 정규직교행렬은 서로 직교하는 크기가 1인 기저벡터들의 집합이라고 정의할 수 있겠다. 선형 시스템의 A는 좌표계를 의미한다. 해당 A 행렬이 직교 행렬일 경우 역행렬을 통해 해를 구할 필요가 없다. 위의 투영 벡터 공식을 보면 알 수 있다. 벡터 u를 벡터 a에 투영했을 때 는 기저 a에 대한 좌표값이다. 즉, 벡터 a를 얼마나 스칼라배를 해야하는지를 의미(기저 a에 대한 좌표)하는 것이다. 위 개념을 예시에 적용하면.. 2021. 10. 5.
# 8. QR 분해 (QR Decomposition) - 1 QR 분해의 내용은 두 포스팅에 걸쳐서 진행하겠습니다. QR 분해는 정방 행렬($A_{m \times m}$)을 분해하는 방법 중 하나로 투영(projection)을 기반으로 하는 알고리즘인 그람 슈미트 과정(Gram-Schmidt Process)로 진행한다. 고로 투영을 이해하기 위해 기본적으로 벡터의 정의부터 파악하려고 한다. 벡터를 물리적으로 정의하면 방향과 스칼라의 조합이다. 벡터 v의 방향은 화살표의 방향, 크기(스칼라 형태)는 화살표의 길이를 의미한다. 벡터의 수학적인 정의는 수들의 집합이며 각 수들은 각 축에 대한 좌표값이다. 예를 들어, 벡터 v = (1, 2, 3) 이리면 원점으로부터 x축으로는 1, y축으로는 2, z축으로는 3의 지점을 향하는 화살표이다. 수들의 갯수가 늘어날수록 차원.. 2021. 10. 5.