학습(구)/AI

Learning rate, Data preprocessing, Overfitting

잉아당 2020. 11. 26. 23:32
728x90

Sung Kim님(김성훈 교수님)의 유튜브를 보고 공부한 AI 입니다.

Sung Kim님(김성훈 교수님)의 유튜브 주소 : www.youtube.com/channel/UCML9R2ol-l0Ab9OXoNnr7Lw

 

Sung Kim

컴퓨터 소프트웨어와 딥러닝, 영어등 다양한 재미있는 이야기들을 나누는 곳입니다.

www.youtube.com

Leraning rate

Learning rate는 Gradient descent를 줄이는데 사용되어져 왔습니다.

하지만 Learning rate의 수치에 따라 문제점이 발생합니다.

Learning rate가 너무 클 경우에는 overshooting이 발생하게 됩니다.

overshooting이란 cost가 줄어들지 않고 들쑥 날쑥해 최소 값을 찾지 못하는 경우입니다.

또한 Learning rate가 너무 작을 경우에 는 찾는 과정이 너무 오래 걸리게 되고 결국 Global Minimum을 찾지 못하고 Local Minimum에서 

멈춰 버리는 문제점이 발생합니다.

그렇기 때문에 이러한 문제점을 해결하기 위해서는 여러 learning rate를 환경에 따라 달리 적용하여 최적의 learning rate를 찾아야 합니다. 

 

Data preprocessing

Gradient Descent에서 Data prepocessing 작업은 두가지 방식이 있습니다.

1) zero-centered data 

zero-centered data 방식은 데이터가 모여있는 군집의 크기와 모양은 똑같지만 중앙 값을 0으로 지정하여 찾기 쉽게 형성시키는 방법입니다.

 

2) normalized data

normalized data 방식은 데이터가 모여있는 군집의 크기를 어떠한 값의 범위 내로 줄이는 방법입니다. 이 방법을 가장 많이 사용합니다.

 

standardization을 이용하여 표준화를 시켜 전처리를 수행합니다.

다음은 표준화 시키는 코드입니다.

standardization의 코드

 

Overfitting

Overfitting이란 trainning data set을 이용해 훈련을 시키면 trainning data set에 대해서는 좋은 모델이지만 실제 해당 모델을 사용할때 좋은 결과가 나오지 않는 것을 의미합니다.

이를 해결하기 위해서는 3가지 방식이 있습니다.

 

1) 더 많은 trainning data 사용

2) feature의 중복 줄여 개수 감소

3) 일반화

일반화는 가중치가 너무 큰 숫자를 가지지 않도록 하는 것입니다. 

일반 손실도를 측정하는 공식에 추가로 엘리먼트 제곱의 합을 regularization strength로 곱하여 최소화 시킨 값을 더하여 사용합니다.

 

 

 

 

 

일반적으로 Trainning Data set을 이용할때 100% 전부 사용하는 것은 좋지 않습니다.

그러므로 Data set의 70%를 훈련에 사용하고 남은 30%를 정확도를 측정하는데 이용하여 정확성을 검증합니다.

정확성은 실제값과 예측값 사이에서 예측한 값이 실제 값과 얼마나 동일한가를 나타낸 비율입니다.

 

Online learning은 이미 데이터를 통해 학습 시킨 모델이 존재하고 새로운 데이터가 들어왔을 때 모델을 새로 학습시키는 것이 아닌 추가하는 방식을 의미합니다.

'학습(구) > AI' 카테고리의 다른 글

Multinomial classification - SoftMax 실습  (0) 2020.11.10
Multinomial classification - SoftMax  (0) 2020.11.10
Logistic classification 실습  (0) 2020.10.04
Logistic classification  (0) 2020.10.04
Multi-variable linear regression 실습  (0) 2020.10.04