ML/DL 관련 개념(+주관적 해석) 정리
1. 지도학습과 비지도학습의 차이점은?
- 지도학습 : label이 있는 데이터로 학습을 진행하는 것(회귀, 분류), feature와 target간의 관계를 잘 설명하는 선, 혹은 어떠한 기준점을 찾는 것이 핵심
- 비지도학습 : label이 없는 데이터로 학습을 진행하는 것(군집화, 연관규칙학습), 데이터 간 거리 혹은 관계를 바탕으로 어떠한 패턴 혹은 변수 간의 응집도를 파악하는 것이 핵심
2. 분류모델 정리
- KNN : 거리가 가까운 K개의 값들을 동일한 값으로 분류하는 것
- Naive Bayes : 조건부확률을 기반으로, B라는 사건이 일어났을 때를 가정해서 A가 일어날 확률(모두 독립이라 가정)
- SVM : 최대 마진을 가지도록 deicision line을 그어 학습을 진행(n차원일 때 유리)
- Decision tree : 불순도가 낮은 방향으로 분기가 나눠지면서 학습 진행
3. 회귀모델 정리
- 선형회귀 : 오차의 평균을 최소화할 수 있는 기울기와 절편을 찾는 것
4. lasso와 ridge란 무엇인가?
- lasso : l1 norm을 사용하여, 규제항을 통해 감쇠하는 효과가 있고 0으로 만들 수 있어 feature selection에 유리
- ridge : l2 norm을 사용하여, 실제값과 예측값의 차이 제곱이라는 수식을 가져 0으로 만들 수 없어 일반화 능력 개선 효과
5. 고유값과 고유벡터란?
- 행렬을 대표할 수 있는 값. 통계에서 평균과 분산이 있듯이 행렬에서는 위 개념이 존재
- 어떠한 행렬 A를 선형변환했을 때, 벡터를 고유벡터라고 부르고 크기를 조정하는 값은 고유값이라고 부름
6) PCA란?
- 데이터가 어떤 방향으로 분산되어 있는지 찾는 기법
- 공분산행렬 -> 고유값분해 -> 고유값, 고유벡터 찾기 -> 주성분을 바탕으로 한 차원축소
7) SVD
- 직교행렬, 대각행렬, 직교행렬을 바탕으로 행렬을 분해하는 기법
- 다시 정리
8) precision, recall, f1의 차이
- preicision : 모델 입장에서 평가지표로 정밀도라고 하며, 모델이 실제라고 예측한 값 중 실제로 맞은 값
- recall : 실제 값 입장에서 평가지표로 재현율이라고도 하며, 실제 값 중에서 모델이 예측하여 맞춘 값
- f1 : precision과 recall의 조화평균. 불균형 데이터에서는 특히 한 쪽으로 쏠릴 수 있기 때문에 조화평균으로 평가 진행
9) 모델 파라미터 추정 방법은?
- MLE : likelihood가 최대가 되도록, 즉 데이터가 분포로부터 나왔을 가능도를 최대로 하는 기법. 확률을 모두 곱한다
- MAP : 관측결과와 사전지식(사전확률)을 결합해서 최적의 모수를 찾아내는 방법
10) Kernel trick이란?
- 저차원 공간 -> 고차원 공간으로 매핑하여 linear하게 구분성르 긋도록 해주는 기법
11) FC layer(fully connected layer) = dense layer
- 모든 층의 뉴런이 다음 층에 모든 뉴런과 연결된 상태
- 2차원 벡터를 1차원 벡터로 평탄화, 활성화 함수, softmax로 분류할 때 사용되는 layer
12) 활성화함수
- 입력값을 non-linear하게 변환해주는 기법
- 값을 좀 더 부드럽게 혹은 직관적으로 변환해준다. (ex - relu, sigmoid)
13) 역전파
- 가중치 w와 b를 도출하기 위해, 출력에서 입력방향으로 chain rule을 활용하는 것
- w와 b를 구하는 것은, 즉 graident descent를 이용하여 가중치 업데이트를 해주기 위한 것
14) 모델의 학습과정
- 순전파 -> 역전파 -> 가중치 업데이트 -> 반복(오차가 최소로 될 때까지)
15) 경사하강법
- 오차함수를 따라 일정크기만큼 접선의 기울기 방향으로 내려가면서 최소값을 찾는 방법
16) convolution layer
- 합성곱을 이용하여 feature를 추출하는 layer. 윈도우를 일정 간격으로 이동하면서 계싼
- padding : 입력 데이터에 0을 채워 출력 크기를 동일하게 적용
- pooling : 데이터의 크기를 줄이는 기법. average pooling과 max pooling이 있음
17) batch normalization
- 정규화를 통해 학습을 더 빨리하기 위해서, local optimization에 빠지지 않도록 하기 위해 사용됨
- local optimization에 빠지지 않도록, 즉 데이터의 격차를 줄여 기울기가 널뛰게 하지 않도록 하는 효과
18) gradient vanishing이 무엇이고 어떻게 해결하는가
- gradient가 너무 작아 소멸되어, chaine rule에서 값의 연산이 제대로 이루어지지 않는 현상
- batch normalization을 통해 해결할 수 있음(batch 단위로 평균과 분산을 바탕으로 값을 정규화 시키면 값의 극단치가 평균점으로 회귀)
19) RNN
- 입력값을 기억하기 위해, 순차적으로 학습이 진행되며 신경망 구조의 순환이 추가 된 것
- 단점은 단어의 SIZE가 커질 때 context vector가 모두 함축하지 못함(+장기 의존 현상) -> Attention이 나온 이유
20) LSTM
- 게이트를 추가하여(일종의 컨베이어벨트) 기억할 것은 오래 기억하고, 잊어야 할 것은 잊는 게이트를 추가하여 출력값을 넘기는 기법
21) Attnetion
- decoder에서 encoder의 모든 출력값들을 참고하는 기법. attention weight를 활용하여 중요한 단어에 집중할 수 있는 메커니즘
-
'기계학습 > Machine Learning' 카테고리의 다른 글
[DATA/AI직무 면접 대비] 데이터사이언스&ML 관련 용어 한 줄 정리 (0) | 2022.10.24 |
---|---|
Machine Learning - SVM(Support Vector Machine) (0) | 2021.07.31 |
Feature Scaling이란? (0) | 2021.07.23 |
Multivariate Linear Regression이란? (0) | 2021.07.22 |
Linear Regression - Gradient Descent란? (0) | 2021.07.22 |
최근댓글