모두를 위한 딥러닝 1일차

·2022년 6월 15일
0
post-thumbnail

머신러닝이란?

일종의 프로그램이지만 개발자가 로직화 시킨 부분들 뿐만 아니라 데이터를 통해 학습할 수 있는 프로그램
ex. 스팸 메일 필터링, 자율주행 같은 경우엔 개발자들이 모든 케이스를 로직화시킬 수 없다.

Supervised and Unsupervised

Supervised

이미 label이 된 데이터를 가지고 학습하는 것
ML에서 가장 흔한 케이스

Training Data Set
ex. Alpha GO가 학습한 기보 같은 것

Type

  1. regression
    시험 성적 예측하기
  2. binary classification
    시험 pass or non pass
  3. mutil-label classification
    학점이 A,B,C,D,E,F 중 하나

type에 따라 Training Data Set의 형태가 달라짐

Unsupervised

  • label이 없는 데이터를 가지고 학습하는 것

Linear Regression

어떤 학생이 n시간 공부했을 때 시험 점수가 몇점일지를 예측해보자.

1. 위에 데이터를 가지고 트레이닝을 시킨다.
2. regression 모델이 위 데이터를 가지고 어떤 모델을 만든다.
3. 7시간 공부하면 몇점이야? 물어보면 예측을 해서 준다.


x는 feature라고 부른다.

linear regression 모델을 학습할 때는 Linear하게 가설을 세우게 된다.
데이터와 잘 맞는 함수를 찾는게 바로 학습을 한다 라는 의미이다.

그럼 좋은 함수는?
점과 직선 사이의 거리(Cost)가 작을수록 좋은 함수이다.

점과 직선사이를 계산하는걸 Cost Function(=Loss Funtion)이라고 부르며 가설과 실데이터가 얼마나 다른가를 보여준다.

cost function은 실제적으로 W와 b의 function이 되고 가장 작은 값을 가지는 W와 b를 찾는게 바로 학습이다.
값을 최소하는 정말 많은 알고리즘이 있다.

어떻게 최소화 하는가

간소화를 위해 H(x) = Wx로 잡아서 설명하겠다.

컴퓨터로 해당 cost function을 그려보면

Gradient descent algorithm

  • 주어진 cost function을 minimize 하는데 사용
    어떻게??
    경사도가 0인 곳을 찾아 멈춤
  • 아무지점에서나 시작가능
  • W를 조금 바꾼다

    미분 진행하면

    W를 바꿔가면서 대입만 해주면 된다.

cost function을 그래프로 나타냈을 때..

이렇게 생긴걸 Convex function이라고 하고 Gradient descent algorithm이 항상 답을 찾아줄 수 있다. 만약

이렇게 생기면 어디서 시작하냐에 따라 결과가 달라져서 불가능하다.
따라서 cost function을 설계할 때 cost function의 모양이 항상 convex function 형태를 가지도록 해야한다

profile
이제는 병아리는 벗어나야하는 프론트개발자

0개의 댓글