[ML] 1주차 : 학습 알고리즘, 비용 함수, 경사 하강법

k_dah·2021년 11월 7일
0

MachineLearning_AndrewNg

목록 보기
1/32
post-custom-banner

Machine Learning by professor Andrew Ng in Coursera

Introduction

Learning algorithm (학습 알고리즘) = 지도 학습 알고리즘 + 비지도 학습 알고리즘

Supervised Learning (지도 학습)

정답을 알려주는 경우

  • 알고리즘에게 주입하는 훈련데이터 label 이라는 을 포함하는 경우
    -> 알고리즘의 역할은 더 많은 '정답'을 만들어 내는 것 (새로 들어올 입력값에 대한 정답 같은 것)
    • Regression (회귀)
      : 연속된 값을 예측 (ex. housing price)
    • Classification (분류)
      : 불연속적인(Discrete) 값을 예측 (ex. breast cancer <- 악성/양성 종양 구분 )

Unsupervised Learning (비지도 학습)

정답이 없는 경우

  • 어떤 label도 갖고 있지 않거나 / 모두 같은 label / 아예 label이 없는 경우
  • "주어지는 데이터에서 어떤 구조(structure)를 찾을 수 있는가" 를 묻는다.
    • Clustering (클러스터링)
      : 비슷한 것들끼리 한 클러스터로 묶는다.

=> 알고리즘이 스스로 데이터를 통해 구조를 찾도록 한다.


Model and Cost Function

Cost Function

  • Hypothesis :
  • Parameters : θ
    새로운 θ들의 조합을 선택할 때마다 새로운 가설이 생긴다.
    비용함수로 파라미터의 값을 결정한다.
  • Cost Function : 이때의 비용함수는 Squared Error,
    다른 비용함수들도 있지만 오차제곱함수가 회귀문제에서는 대체로 사용된다.
  • 비용함수를 최소화하는 θ를 찾는 것이 목표

=> 비용함수 J를 최소화하는 θ를 찾으면 그게 곧 훈련데이터를 가장 잘 나타내는 θ가 된다.


Parameter Learning

Gradient Descent

  • 비용함수 J의 최솟값을 구하는 알고리즘
    선형회귀에서만이 아니라 일반적으로 많이 쓰인다.
    비용함수 뿐만 아니라 다른 함수들의 최솟값을 구할 때에도 쓰인다.

    Gradient descent algorithm

    repeat until convergence:

    θ들의 값은 동시에 업데이트 한다.

  • α : learning rate
    • α가 작을 때 : 최솟값에 도달하기까지 오래 걸린다.
    • α가 클 때 : 방향전환에 실패하고, 최솟값에서 멀어질 수 있다.
  • θ_1이 지역 최솟값에 도달한 경우
    • 이때의 미분계수는 0
    • 따라서 θ_1 := θ_1 - α * 0 이므로, θ_1의 값은 유지된다.

=> Gradient descent는 파라미터에 아무런 영향을 끼치지 않는다.

  • α가 고정된 경우에도 gradient descent는 지역 최솟값에 수렴한다.
    • 최솟값에 가까워질수록 gradient descent는 자동 조정됨
      최솟값에 가까워질수록 미분계수 0에 가까워지고 있다는 것이기 때문

=> α값을 작게 조정해주지 않아도 된다.

Gradient Descent For Linear Regression

  • 선형 회귀에 gradient descent를 적용하면 아래와 같은 식이 된다.

    • 훈련세트 전체를 사용하며 이를 "Batch" Gradient Descent 라고도 한다.
  • 선형 회귀의 비용함수는 항상 convex function (볼록 함수)
    • 따라서 지역 최적값은 없고 항상 전역 최적값만 존재한다.
    • 즉, gradient descent는 항상 전역 최솟값에 수렴한다.

Linear Algebra Review

  • 벡터 곱을 통해 크기가 큰 데이터에 대해서도 효율적인 계산을 할 수 있다.
profile
개똥이
post-custom-banner

0개의 댓글