머신러닝의 해답을 내는 방법 두 가지

  1. 회귀 (Regression)
    출력값이 연속적인 소수점으로 예측하게 하도록 푸는 방법

  2. 분류 (Classification)
    출력값이 비연속적인 문제를 풀 때 쓰는 방법

선형 회귀 (Linear Regression)

  • '모든 문제는 선형으로 설명할 수 있다' 라는 가정으로 시작
    input과 output이 각 1개 씩 있음.

가설

= H(x)=Wx+bH(x) = Wx + b
W = weight / b = bias
모든 머신러닝은 가설이 있어야 문제를 풀 수 있다.
'내가 만든 임의의 직선'

정답값

= 가설의 결과값
가설과 함께 학습을 할 수 있도록 설정해 주어야 함
가설(임의의 직선)과 정답값이 가까워 지도록 해야함.

Cost - 손실함수(Cost or Loss function)

= mean squared error
임의의 직선과 정답값의 거리
cost function이 작아야 잘 학습된 것.

다중회귀

선형회귀와 똑같지만 input값이 n개. output은 여전히 1개
가설
= H(x1,x2,...,xn)=w1x1+w2x2+...+wnxn+bH(x_1, x_2, ..., x_n) = w_1x_1 + w_2x_2 + ... + w_nx_n + b

기억할 것.

가설(임의의직선)과 정답값의 차이(거리)인 cost가 최소화(minimize)되는 방향으로 학습시킨다.

머신은 W와b의 값을 계속 바꿔 대입하며 답을 구한다.

경사 하강법

= w가 경사를 따라 내려간다
손실함수를 최소화 해야함. (당연)
w값을 바꿨을 때 코스트가 올라가는지 내려가는지 보고
코스트가 내려가면 또 이동, 코스트 확인
코스트가 올라가면 반대로 이동, 코스트확인
반복.

initial weight = 가중치 초깃값

Learning rate =
조금씩 바뀌게 되는 측정 지점과 지점간의 거리, 학습시간을 결정.
적절한 값을 찾는 노가다가 필수적임.
지나치게 크면 Overshooting이 될 수 있음.

local minimum = global minimum으로 착각할 만한 지점.

데이터셋

세 가지로 나뉜다.

Training set = 머신러닝 학습. 전체의 80%
Validation set = 모델 성능 검증. 20%
Test set = 실제 환경에서 테스트

profile
가보자고

0개의 댓글