list
로 사용 되며, 데이터셋을 구성하고 있는 데이터프레임의 행/열로써 사용되기도 함Scalar
단일 숫자, 변수에 저장 할때는 일반적으로 소문자를 이용하여 표기, 실수와 정수 모두 가능
Vector
예시:
위의 벡터는 2차원을 가지고 있음
Vector 크기(Magnitude, Norm, Length)
벡터의 크기를 표현 할때는 || 를 사용
벡터의 길이를 구하는 방법의 일반화
v = [1,2,3,4]
|v| =
|v| =
즉, 벡터의 크기는 모든 원소의 제곱을 더한 후 루트를 씌운 값
벡터 크기의 특징
(모든 원소가 0)
삼각 부등식:
벡터의 내적 ( Dot Product )
두 벡터 와 의 내적은, 각 구성요소를 곱한 뒤 합한 값과 같음
v = [1, 2, 3, 4]
x = [5, 6, 7, 8]
v x = 1 5 + 2 6 + 3 7 + 4 8
= 70
행과 열을 통해 배치되어있는 숫자들, 매트릭스를 표현하는 변수는 일반적으로 대문자를 사용하여 표기
매트릭스의 전치는, 행과 열을 바꾸는 것을 의미, 이는 일반적으로 매트릭스 우측 상단에 혹은 tick 마크를 통해 표기 :
: B transpose 혹은 B prime 으로 읽음
실제 계산은, 대각선 부분의 구성요소를 고정시키고 이를 기준으로 나머지 구성요소들을 뒤집는다 라고 생각하면 됨
정방 매트릭스 라고도 불리며, 보통 선형대수 강의에서 처음 몇 주간 배우게 되는 아주 기초적인 매트릭스
행과 열의 수가 동일한 매트릭스
정사각 매트릭스의 특별한 케이스
Diagonal (대각): 대각선 부분에만 값이 있고, 나머지는 전부 0
Upper Triangular (상삼각): 대각선 위쪽 부분에만 값이 있고, 나머지는 전부 0
Lower Triangular (하삼각): upper triangular 와 반대로, 대각선 아래에만 값이 있음
Identity (단위 매트릭스):
- Diagonal 매트릭스 중에서, 모든 값이 1인 경우
- 임의의 정사각 매트릭스에 단위 행렬을 곱하면, 그 결과값은 원본 정사각 매트릭스로 나옴
- 반대로 임의의 매트릭스에 대해서 곱했을때 단위 매트릭스가 나오게 하는 매트릭스를 역행렬 (Inverse)라고 부름
,
Symmetric (대칭): 대각선을 기준으로 위 아래의 값이 대칭인 경우
행렬식은 모든 정사각 매트릭스가 갖는 속성으로, 혹은 로 표기
2x2 매트릭스를 기준으로, 행렬식은 다음과 같이 (AD-BC) 계산 할 수 있음:
2x2
-> 8 * 16 - 12 * 9 = 20
-> |x| = det(x) = 20
더 큰 차원의 매트릭스 행렬식은, 재귀적으로 (recursively) 부분을 이루는 행렬식을 구하는 것으로 계산 할 수 있음
ex)
2x2 매트릭스를 기준으로, 역행렬을 계산하는 방식 중 하나:
매트릭스에 역행렬을 곱하면
행렬식이 0인 정사각 매트릭스는 "특이" (singular) 매트릭스라고 불리기도 함
2개의 행 혹은 열이 선형의 관계를 (M[,i]= M[,j] * N) 이루고 있을때 발생
표현하는 다른 방법은, 매트릭스의 행과 열이 선형의 의존 관계가 있는 경우 매트릭스의 행렬식은 0이다. 라고 표현
ex)
L1 norm, L2 norm
데이터가 얼마나 퍼져있는지 측정하는 방법
는 평균, 은 관측의 수 (샘플의 수)
혹은 분산은 일반적으로 소문자 v로 표기되며 필요에 따라 로 표기,
주의할점으로 분산을 계산하는 방법이 모집단이냐 혹은 샘플이냐에 따라서 달라짐
모집단의 분산 는 모집단의 PARAMETER (aspect, property, attribute, etc)이며, 샘플의 분산 는 샘플의 STATISTIC (estimated attribute)
샘플 분산 는 모집단 분산 의 추정치
일반적으로, 샘플의 분산을 계산 할때는 로 나누어야 함
표준편차는 분산 값에 루트를 씌운 것
첫번째 그래프의 경우, y의 값이 높을때 x 의 값은 낮음, -> 음의 (negative) 공분산 값을 갖는다 라고 표현
두번째 그래프에서는 양 변수의 높고 낮음에 대하여 관련성을 알 수 없음 -> 그러므로 이러한 형태는 0에 가까운 공분산 값을 갖습니다.
마지막 그래프에서, y 값이 낮을때 x의 값도 마찬가지로 낮으며, 높을때는 같이 높아진다는 것을 확인 할 수 있음 -> 양 변수간의 공분산 값은 양의 (positive)값을 기대 할 수 있음
큰 값의 공분산은 두 변수간의 큰 연관성을 나타냄
그러나, 만약 변수들이 다른 스케일을 가지고 있다면 공분산은 실제 변수의 연관성에 관계 없이 영향을 받게 될 것
만약 두 변수가 연관성이 적더라도 큰 스케일을 가지고 있다면, 연관이 높지만 스케일이 작은 변수들에 비해서 높은 공분산 값을 가지게 될 것
상관계수 : 공분산을 두 변수의 표준편차로 각각 나눠주면 스케일을 조정할 수 있음
대부분의 경우, 상관계수는 공분산에 비해서 더 좋은 지표로써 사용
-1 ~ 1
사이로 정해져 비교하기 쉬움상관계수는 일반적으로 소문자 로 표현
백터 혹은 매트릭스가 서로 수직으로 있는 상태 : 두 벡터의 내적값이 0
선형대수에서, 단위 벡터란 "단위 길이(1)"를 갖는 모든 벡터
= [1, 2, 2]
|||| = = 3
= 1 / ||||
= [1, 2, 2] = [, , ]
|||| = 1
각각 1, 2, 3차원의 단위 벡터
unit vector:
unit vectors: ,
unit vectors: , ,
주어진 두 벡터의 (합이나 차와 같은) 조합으로 만들 수 있는 모든 가능한 벡터의 집합
선형 관계의 벡터 (Linearly Dependent Vector)
두 벡터가 같은 선상에 있는 경우, 이 두 벡터들은 조합을 통해서 선 외부의 새로운 벡터를 생성 할 수 없음, 이러한 벡터의 span은 평면 공간이 아닌, 벡터가 이미 올려져 있는 선으로 제한
선형 관계가 없는 벡터 (Linearly Independent Vectors)
선형적으로 독립되어 있다고 표현, 주어진 공간 (2개의 벡터의 경우 R2 평면)의 모든 벡터를 조합을 통해 만들어 낼 수 있음
벡터 공간 의 basis 는 라는 공간을 채울 수 있는 선형 관계에 있지 않은 벡터들의 모음 ( span 의 역개념 )
예를 들어, 위의 그림에서 2개의 벡터 (빨강, 파랑)는 벡터 공간 의 basis 입니다.
Basis 에 추가로 Orthogonal 한 조건이 붙는, 즉 주어진 공간을 채울 수 있는 서로 수직인 벡터들
Orthogonal Basis에 추가로 Normalized 조건이 붙은 것으로, 길이가 서로 1인 벡터들
매트릭스의 rank란 매트릭스의 열을 이루고 있는 벡터들로 만들 수 있는 (span) 공간의 차원
매트릭스의 차원과는 다를 수도 있으며 그 이유는 행과 열을 이루고 있는 벡터들 가운데 서로 선형 관계가 있을 수도 있기 때문
Rank를 확인 하는 방법 중 하나인 Gaussian Elimination
주어진 매트릭스를 "Row-Echelon form"으로 바꾸는 계산과정
여기서 "Row-Echelon form"이란, 각 행에 대해서 왼쪽에 1, 그 이후 부분은 0으로 이뤄진 형태 -> 이러한 매트릭스는 일반적으로 upper-triangular 의 형태를 가지고 있음
3행을 1행*2 로 뺌.
3행을 2행으로 더함
맨 마지막 줄이 0, 0, 0이다 라는 것은 3개의 행이, 선형 관계가 있다는 의미
(다른 행들의 스칼라 곱과 합으로 표현됨)
= -
=
처음에 주어졌던 매트릭스
의 Rank 는 2이며 이는 3x3 매트릭스 이지만 공간이 아닌 만을 벡터들로 만들어 낼 수 있음을 의미
transformation에 영향을 받지 않는 회전축(혹은 벡터)을 공간 = transformation에 대해서 크기만 변하고 방향은 변화하지 않음
고유벡터는 주어진 transformation에 대해서 크기만 변하고 방향은 변화 하지 않는 벡터 -> 변화하는 크기는 결국 스칼라 값으로 변화 할 수 밖에 없는데, 이 특정 스칼라 값을 고유값 (eigenvalue)
❓ Selection 과 Extraction의 차이
Selection 의 경우
- 장점 : 선택된 feature 해석이 쉽다.
- 단점 : feature들간의 연관성을 고려해야함.
- 예시 :
LASSO
,Genetic algorithm
등Extraction의 경우
- 장점 : feature 들간의 연관성 고려됨. feature수 많이 줄일 수 있음
- 단점 : feature 해석이 어려움.
- 예시 :
PCA
,Auto-encoder
등
Projection
PCA의 특징
- 데이터에 대해 독립적인 축을 찾는데 사용 할 수 있음.
- 데이터의 분포가 정규성을 띄지 않는 경우 적용이 어려움
- 이 경우는 커널 PCA 를 사용 가능
- 분류 / 예측 문제에 대해서 데이터의 라벨을 고려하지 않기 때문에 효과적 분리가 어려움
- 이 경우는 PLS 사용 가능
지도 학습 (Supervised Learning)
Supervised Learning은 트레이닝 데이터에 라벨(답)이 있을때 사용
비지도 학습 (Unsupervised Learning)
클러스터링 (Clustering)
데이터의 연관된 feature를 바탕으로 유사한 그룹을 생성
차원 축소 (Dimensionality Reduction)
높은 차원을 갖는 데이터셋을 사용하여 feature selection / extraction 등을 통해 차원을 줄이는 방법
연관 규칙 학습 (Association Rule Learning)
데이터셋의 feature들의 관계를 발견하는 방법 (feature-output 이 아닌 feature-feature)
강화 학습 (Reinforcement Learning)
머신러닝의 한 형태로, 기계가 좋은 행동에 대해서는 보상, 그렇지 않은 행동에는 처벌이라는 피드백을 통해서 행동에 대해 학습해 나가는 형태
목적
주어진 데이터들이 얼마나, 어떻게 유사한지 -> 주어진 데이터셋을 요약정리하는 데 있어 매우 효유럭인 방법 중 하나(production의 수준, 예측을 위한 모델링에 쓰이기 보다는 EDA를 위한 방법으로 사용)
종류
Hierarchical
Agglomerative: 개별 포인트에서 시작후 점점 크게 합쳐감
Divisive: 한개의 큰 cluster에서 시작후 점점 작은 cluster로 나눠감
Point Assignment
Hard vs Soft Clustering
Hard Clustering에서 데이터는 하나의 cluster에만 할당
Soft Clustering에서 데이터는 여러 cluster에 확률을 가지고 할당
일반적으로 Hard Clustering을 Clustering이라 칭함
n-차원의 데이터에 대해서 :
1) k 개의 랜덤한 데이터를 cluster의 중심점으로 설정
2) 해당 cluster에 근접해 있는 데이터를 cluster로 할당
3) 변경된 cluster에 대해서 중심점(centroid : 주어진 cluster 내부에 있는 모든 점들의 중심부분에 위치한 가상의 점)을 새로 계산
cluster에 유의미한 변화가 없을 때 까지 2-3을 반복
K-means에서 'K' 결정방법
The Eyeball Method :사람의 주관적인 판단을 통해서 임의로 지정하는 방법입니다.
Metrics : 객관적인 지표를 설정하여, 최적화된 k를 선택하는 방법입니다.