Quality control (2)/AI

AI - Lab 04 Supervised Learning and Optimization / Linear Regression / K-NN regression

빈그레 2024. 4. 3. 10:54

graph의 scale을 1000으로 맞추면 우측처럼 구분이 어렵고, 왼쪽처럼 하면 nearist가 너무 멀어서,

 

 

이렇게 정규화를 해서 비교

 

단위가 영향을 주는 factor가 될 수 있으니, 데이터를 정규화시키는 것이 중요하다

 

 

K-NN은 학습은 데이터를 저장하면 끝나는 것이고, 내가 가지고 있는 모든 데이터들과의 거리를 비교해서 가장 가까운 이웃들을 보는 것이다. 가장 가까운 K개를 뽑아서 투표를 하는 것!

 

 

K=1일 때 중앙 노란 부분에 찍히면 주변이 다 초록인데도 노랑으로 분류되니까, 

K를 좀 늘려서 튀는 값들을 무시할 수 있도록 조정해준다.

 

 

K가 너무 작으면 예외적이 것들에 영향을 너무 많이 받고, 너무 크면 분류가 잘 안된다. (그냥 데이터 많은 걸로 분류됨)

내가 가진 모델이 표현력이 충분하지 않아 K가 너무 크면 underfiting이 일어날 수 있다.

 

 

[우측 위 그래프]

물고기 한 종류에 대해서 무게와 길이의 쌍이 우측위와 같이 포물선의 형태로 증가하는 것으로 주어짐

여기서 K-NN regression은 내게 점이 하나 주어지면, 이 때 나랑 가장 가까운 점들을 예측한다.

만약 내가 50(연두)이면 가장 가까운 노란 마름모 3개를 찾는다. 그리고 그들의 평균이 나의 예측값이 된다. -> 회귀

 

[우측 아래 그래프]

분포가 극단적인 경우에는 확장성이 떨어진다. 

//입력데이터를 너무 벗어나는 부분은 표현할 수가 없다.

 

Non-paramatric 방식으로 , 데이터를 학습할 때 바뀌는 파라미터가 없다. 

 

 

 

LInear regression은 선형 함수를 찾는 게 목적인데, 기울기와 y절편이 파라미터가 된다.

linear regression은 입력을 벗어나도 선분을 통해 값을 찾을 수 있다. 

 

내게 주어진 데이터를 가장 잘 설명하는 함수를 찾아야한다. 손실값을 가장 적게 만드는 선분을 만들어야한다.

손실값 = 에러의 제곱의 평균 (손실 함수는 바꿀 수 있음 )  linear regression은 보통 이거 씀

 

위 3개의 그래프들 중 가장 우측의 그래프가 가장 잘 표현한 그래프라고 할 수 있다. 

좌측 2개는 데이터셋에 대해서 잘 설명하지 못한다.

 

하지만, 직선을 아무리 잘 그어도 원래 데이터가 가진 포물선의 모양을 나타낼 수 없으므로, 이를 해결하고자 linear regression대신에 polynomial regression을 사용할 수 있따.

 

 

 

polynomial regression은 이차함수를 통해 이차 함수로 표현할 수 있어서, 표현할 수 있는 자유도가 높아졌다.

-> 모델이 가지는 파라미터가 2개에서 3개로 늘어남!

 

그렇다고 다항식의 차수를 늘이는 게 무조건 좋지는 않다. 그러므로 training set 과 test set으로 나눠서 몇 차 다항식을 쓸 것인지 정해야한다.

 

polynomial에서 중요한 것은 linear regression과 완전히 같은 방법으로 풀 수가 있다.

x=0.1일 때, 그냥 0.1과 0.01인 데이터가 2개 주어진 것으로 볼 수 있다. 

 

 

 

logistic regression에서 확률로 표현을 하려면 시그모이드를 이용해서 0에서 1사이 값으로 나타낸다.

z값을 시그모이드 함수에 넣어줘서 표현할 수 있다.

 

각각의 class 별로 a,b,c,d,e,f가 따로따로 있을거고 ,,

여러개일 경우 softmax를 쓰기 때문에,  

s1,s2,s3....에서 정답이 1이었으면 정답은 1,0,0,0,... 

따라서 이걸 이용해서 classification도 할 수 있다.

 

 

 

 

1.1 Limitation of K-NN

 

회귀 : 숫자를 예측하는 것  / 주어진 물고기의 무게를 보고 길이를 예측하거나.. 

 

 

 

 

'Quality control (2) > AI' 카테고리의 다른 글

Pruning을 사용한 network 경량화  (0) 2024.05.16
AI - Transfer Learning  (0) 2024.04.28
AI - Midterm exam  (0) 2024.04.21
Lab 05 - Optimization & Neural Networks  (0) 2024.04.17
AI.LAB2 - Training set / Test set  (0) 2024.03.20