공부/기계학습

[기계학습] 1~11주차 총정리

narlo 2022. 12. 10. 01:11

1~11주차 총정리

데이터를 활용하여 모델에 쓰이는 파라미터를 적절한 값으로 찾아내는 것

즉, 데이터를 얼마나 잘 뽑아내서 훈련에 사용하느냐가 중요하다.

편향된 데이터인 경우 성능이 별로 좋지 않다.

레이블을 가진 데이터를 얻기 쉽지 않기 때문에 결국에는 데이터 싸움이다.

누가 좋은 데이터를 가졌느냐가 관건 (데이터의 중요성)

 

선형회귀

y = wx + b

w와 b가 파라미터

 

k-nn 알고리즘

지도학습을 사용

주변에 인접해 있는 데이터를 이용해 클래스를 추정하는 방식

 

k-means algorithm

비지도학습

평균값으로 각각 클래스에 대해 대표적으로 나타내는 것

평균값을 업데이트하며 성능을 개선

k개의 평균값을 초기화 : 데이터 중 임의로 골라 사용

초기값에 따라 성능이 달라질 수 있음

k개의 평균과 새 데이터를 비교했을 때, 어떤 평균과 가까운지 => 클래스 결정

 

결정트리

확실한 데이터는 엔트로피가 낮고, 불분명하면 엔트로피 높다.

엔트로피가 높은 데이터에 집중한다. (많은 정보가 담겨있음을 의미)

 

SVM

딥러닝이 활발하게 되기 전에 많이 쓰인 방식

margin을 어떻게 하면 크게 할까?

 

단층 퍼셉트론

⭐exclusive or 문제 해결 불가(비선형 문제)

=> 신경회로망 연구가 침체기로 들어감

선형적으로 분리 가능한 문제만 해결 가

 

다층 퍼셉트론

오류 역전파 알고리즘으로 해결

입력, 은닉, 출력층 3가지

은닉 노드의 에러 define 어떻게?

 

30년 걸려서 은닉 노드의 에러는 출력층에서 오는 델타와

은닉노드와 출력 노드 사이의 연결 강도 W.T 곱해서 은닉노드의 에러로 사용

 

오류 역전파 알고리즘

연결강도 초기화를 small random number로 하면 성능이 왔다갔다 한다.

 

심층신경망

HW성능, Vanishing gradient, overfitting 등의 문제로 사용이 잘 되지 않았었음

데이터가 아주 중요한 역할, 좋은 데이터 확보가 중요하다.

 

vanishing gradient

활성화 함수로 시그모이드를 사용하면 연결강도 변화량이 0으로 수렴

=> 연결강도 학습이 불가능하다, 성능개선이 불가능하다.

 

overfitting

train data에 지나치게 fitting되어, generalization 능력이 떨어지는 현상

 

합성곱신경망(CNN)

영상 인식에 많이 쓰임

기존의 영상 인식 시스템은 특징추출기와 분류기가 따로 있었는데,

둘을 합쳐서 ERROR Minimize 방향으로 특징을 자동으로 추출하도록

여기서 오류 역전파 알고리즘이 쓰임

 

특징추출기는 convolutional layer, pooling layer로 구성

pooling layer

feature map의 추상화, 크기를 작게 만드는 것, feature map size를 줄여 줌

파라미터가 많으면 overfitting 문제가 발생하는데, Pooling Layer를 통해 파라미터 개수를 줄일 수 있다.

 

순환신경망(RNN)

타임 시리즈 데이터에 대해 동작이 잘 되며, 자연어 처리에 중요한 역할