프로그래밍/스파르타 코딩클럽

스파르타 - 가장 쉽게 배우는 머신러닝 - 1주차

Se-chan Oh 2021. 6. 20. 12:07

머신러닝의 회귀와 분류

회귀(Regression) : 출력값이 연속적인 소수점(float)으로 예측하게 하도록 푸는 방법을 회귀라고 한다.

분류(classification) : 출력값을 이진 클래스(Binary class)로 나눌 수 있다면 이진 분류(Binary classification), 여러 클래스로 나눌 수 있다면 다중 분류(Multi-class classification, Multi-label classification)라고 부른다.

 

머신러닝의 3가지 종류

지도 학습(Supervised learning) : 회귀와 분류 문제가 대표적인 지도 학습에 속한다. 지도 학습은 기계에게 입력값과 출력값을 전부 보여주면서 학습한다. 그런데 대부분 입력값에 해당하는 데이터는 있어도 출력값(정답)에 해당하는 데이터가 없는 경우가 많다. 따라서 입력값에 정답을 하나씩 입력해주는 작업을 하게 되는 경우가 있는데 그 과정을 라벨링(Labeling, 레이블링) 또는 어노테이션(Annotation)이라고 합니다.

비지도 학습(Unsupervised learning) : 비지도 학습은 그룹핑 알고리즘(Grouping algorithm)의 성격을 띈다.

강화 학습(Reinforcement learning) : 자신이 한 행동에 대해 보상(Reward)를 받으며 학습하는 것을 말한다. 게임을 예로 들면 게임의 규칙을 따로 입력하지 않고 자신(Agent)이 게임 환경(Environment)에서 현재 상태(State)에서 높은 점수(Reward)를 얻는 방법을 찾아가며 행동(Action)하는 학습 방법으로 특정 학습 횟수를 초과하면 높은 점수(Reward)를 획득할 수 있는 전략이 형성되게 된다. 단, 행동(Action)을 위한 행동 목록(방향키, 버튼)등은 사전에 정의가 되어야 한다.

 

선형 회귀 (Linear Regression)

가설(Hypothesis) : H(x) = Wx + b -> 선형이라 가정

비용(Cost or Loss function) : ${{1\over N}\sum_{i=1}^{N}{(H(x_i) - y_i) ^ 2}}$ -> mean squared error

다중 선형 회귀(Multi-variable linear regression)

가설 $H(x_1, x_2, ..., x_n) = w_1x_1 + w_2x_2 + ... + w_nx_n + b$

손실 함수 Cost = ${{1\over N}\sum{(H(x_1, x_2, x_3, ..., x_n) - y) ^ 2}}$

 

경사 하강법 (Gradient descent method)

처음에 랜덤으로 한 점으로부터 시작해서 좌우로 조금씩 그리고 한번씩 움직이면서 이전 값보다 작아지는지를 관찰한다. 한칸씩 전진하는 단위를 Learning rate라고 하며, 그래프의 최소점에 도달하게 되면 학습을 종료한다.

 

데이터셋 분할

1. Training set (학습 데이터셋, 트레이닝셋)
머신러닝 모델을 학습시키는 용도로, 전체 데이터셋의 약 80% 정도를 차지한다.
2. Validation set (검증 데이터셋, 밸리데이션셋)

머신러닝 모델의 성능을 검증하고 튜닝하는 지표의 용도로 사용한다. 이 데이터는 정답 라벨이 있고, 학습 단계에서 사용하기는 하지만, 모델에게 데이터를 직접 보여주지는 않으므로 모델의 성능에 영향을 미치지는 않는다.

전체 데이터셋의 약 20% 정도를 차지한다.
3. Test set (평가 데이터셋, 테스트셋)

정답 라벨이 없는 실제 환경에서의 평가 데이터셋이다.