머신러닝을 시작하기 전 용어에 대해 정리한다.
- 라벨(labels) : 예측하는 실제 항목(y)
- 특성(features) : 데이터를 설명하는 입력 변수(x)
- 모델(models) : 특성과 라벨의 관계 정의.
- 학습 - 모델을 만들거나 배우는 것
- 추론 - 학습된 모델을 정의되지 않은 데이터에 적용하는 것. 예측.
- 회귀 모델 - 연속적인 값을 예측한다.
- ex) xx기업의 주식 가격이 얼마인가요?
- 분류 모델 - 불연속적인 값을 예측한다.
- ex) 이 사진은 강아지일까요, 고양이일까요?
주어진 데이터를 통해서 특성과 Y의 관계를 만드는 알고리즘을 만드는 것도 머신러닝이지만, 데이터의 특징을 찾아내는 함수를 만드는 것 또한 머신러닝이다.
이 사진은 온도에 따라 귀뚜라미가 우는 빈도를 나타내었습니다.
다음과 같이 선형을 띄는 것을 볼 수 있고 이를 방정식으로 작성할 수 있습니다.
- y : 라벨을 의미한다.
- w : 특성 1의 가중치. (기울기)
- x : 특성 1
- b : 편향(y절편).
사진에 보이는 빨간 점이 파란 선과 겹치지 않았다면 손실이 일어난 것이며 선과 점이 멀어진 거리가 손실의 크기가 됩니다. 손실은 모델의 예측이 얼마나 잘못되었는지를 나타냅니다. 그래서 모델을 만들 때 작은 손실을 만드는 것이 목표입니다. 선형 회귀 모델에서 손실을 파악할 수 있는 손실 함수가 존재합니다.
- (x,y) : Example. [ x : 모델이 예측하는데 사용하는 특성 집합 / y : Example 의 라벨 ]
- prediction(x) : 특성 집합 x 와 결합된 가중치 및 편향의 함수
- D : 데이터 세트
- N : D에 포함된 Example 의 수
이제 손실을 알아보았으니 머신러닝 모델이 어떻게 손실을 줄여나가는지 알아야 한다.
# 첫 번째 방법 : 반복 모델 학습
반복 모델 학습은 하나 이상의 특성을 입력하여 하나의 예측(y')을 출력합니다.
만약 최초 특성 값이 10 이라고 가정하고 w = 0, b = 0 이라고 생각하면 y' = 0 * 10 + 0 이 됩니다.
이후 머신러닝 시스템은 손실 함수의 값을 검토한 뒤, b 와 w 의 새로운 값을 생성합니다.
그렇게 새로운 값을 생성하여 새 매개변수 값을 출력하는 과정을 손실 값이 가장 낮은 모델 매개변수를 발견할 때까지 반복합니다.
# 두 번째 방법 : 경사하강법
경사하강법은 함수 값이 낮아지는 방향으로 독립 변수 값을 변형시키는 방법이다. 함수 값이 낮아지는 방향은 무엇을 뜻할까. 함수의 기울기가 낮아지는 방향으로 어느 특정 x 에서 x가 커질 수록 함수 값이 커진다면 양의 기울기 일 것이므로 음의 방향으로 옮기는 것이 답이 될 것이다.
경사하강법에서는 step size 가 중요하다. 학습률이 너무 작을 경우 반복해야 하는 값이 많아져 학습 시간이 오래걸리고, 너무 클 경우 최소값에서 멀어질 수 있다.
'데이터 분석 > 머신러닝 독학하기' 카테고리의 다른 글
Step3. 지도학습과 비지도학습 (0) | 2020.12.15 |
---|---|
머신러닝 - MNIST 알아보기 (분류) - Python (1) | 2020.11.23 |
Step2. 머신러닝을 시작하기 전에 (0) | 2020.09.14 |
Step1. 머신러닝이란. (0) | 2020.09.13 |