1. Eigen values and eigenvectors 3,4 차원의 고윳값과 고유벡터는 계산기를 통해 구한다. loop가 존재하면 다른 페이지로 가는 것이 아니라 cycle을 형성하게 된다. loop가 두 개 존재하면 작은 행렬로 나눠서 고윳값과 고유벡터를 찾을 수 있다. 이때는 unique PageRank가 존재하지 않는다. damping을 적용하면 계산의 크기가 작아진다. 기존 페이지에 머무를지 이동할지에 대한 가중치를 부여하는 것이 damping이다. 람다에 관한 방정식을 characteristic polynomial이라고 한다. 이 방정식으로 고윳값과 고유벡터를 구할 수 있다. 대각행렬을 이용해서 행렬의 제곱도 간단하게 구할 수 있다. 2. Summary 계산은 컴퓨터가 하기 때문에 손으로 ..
Linear Algebra
1. Introduction to PageRank 페이지 A,B,C,D의 연결 관계를 나타내는 행렬 L의 각 행을 구한 것이다. 연결된 페이지의 수를 분모로 삼아 다른 페이지로 이어질 확률을 벡터로 표현한다. 모든 페이지의 랭크가 동일하게 normalise 되었다고 가정하면 랭크 벡터 r은 위와 같다. 그리고 페이지의 연결 관계를 확률로 나타낸 벡터 L도 위처럼 표현된다. A에 대한 랭크는 페이지 벡터 L과 r의 곱으로 구할 수 있다. 이때 벡터 r을 반복적으로 곱하며 값을 업데이트한 식은 위와 같다. 이 반복은 r이 변화를 멈출때까지 계속된다. 결국 r = Lr 이 된다. 이 방정식을 풀기 위한 좋은 방정식은 사다리꼴을 만드는 것이지만, 이는 고윳벡터를 알 때만 적용 가능하다. 2. PageRank P..
1. Changing to the eigenbasis T라는 사상이 주어진 벡터를 어떻게 이동시키는지는 매번 행렬 T를 곱해보아야 알 수 있다. 그러나 시행 횟수 n이 커질수록 이 계산은 매우 복잡해지므로 간단하게 만들고자 한다. 이때 diagonal matrix(대각행렬)를 사용하면 이 과정을 간단하게 만들 수 있다. 대각행렬은 주대각선은 전부 1이고, 나머지는 전부 0인 행렬을 말한다. 대각행렬 T를 반복적으로 곱하면 주대각성분만 제곱의 형태가 된다. 고유벡터로 이루어진 행렬 C와, 단위 행렬에 고윳값을 곱한 행렬 D가 있다. T를 위와 같은 방식으로 구하면 C와 C의 역행렬이 사라지며 계산량이 확연하게 줄어들고 일반화도 가능하다. 2. Eigenbasis example horizontal shear..
1. Speical eigen-cases 1) uniform scaling 모든 벡터가 고유벡터 2) rotation non-zero pure rotation이 존재 적어도 몇몇의 고유벡터를 가지는 180도 pure rotation 정확히 반대 방향을 가리키고 있지만 여전히 같은 span 위에 존재한다. 고윳값은 -1 이 된다. 벡터의 길이는 동일하지만 반대 방향을 가리킨다는 의미다. 3) combination of horizontal shear and a vertical scaling horizontal shear에는 기존의 세 벡터 중 horizontla vector만 고유벡터로 인식된다. 하지만 나머지 두 벡터 사이의 보이지 않는 벡터는 선형변환 이전, 이후 둘 다 같은 span 위에 위치한다. 아..
1. What are eigenvalues and eigenvectors? eigenvectors(고유벡터) horizontal, vertical vectors are special horizontal vectors' length was unchanged 이 벡터들의 길이를 eigenvalue(고윳값)라고 한다. 이 개념을 3,4차원 이상으로 확장할 수 있다. horizontal은 그대로 유지, vertical만 두 배로 확장했더니 나머지 벡터의 각과 길이가 달라진다. 그렇기 때문에 horizontal, vertical vectors가 special하다고 한 것이다. shear의 경우 horizontal을 제외한 두 벡터가 달라진다. 하지만 rotation의 경우 어떤 벡터도 변화를 겪지 않았다. 2. ..
1. The Gram-Schmidt process 선형독립인지 확인하고 싶으면 행렬식이 0인지 아닌지를 구해볼 것 위와 같은 방식으로 n개의 벡터를 정규화 하면 된다. 주어진 벡터를 이용해서 서로 수직인 벡터들을 만드는 방법이다. 현재 벡터와 여기에 이전 벡터들과 수직인 사영 벡터를 전부 빼주면 된다. 2. Gram-Schmidt process 그람 슈미츠 직교화를 주피터 노트북으로 구현하는 문제 빈칸을 채우는 방식으로 그렇게 어렵지는 않다 3. Example: Reflecting in a plane v1, v2는 평면을 구성하는 벡터, v3는 그 밖의 벡터이다. 그람-슈미트 직교화를 통해 기저 벡터 E를 구한다. e3에 대해 대칭인 위치를 찾고자 하는 것이므로 다른 벡터 두 개는 그대로, e3는 음수로..