Other/ML, DL

머신러닝 | 1주차 강의

JUNG씨 2022. 10. 7. 19:44

✅ 머신러닝이란?

1. 지도 학습(Supervised learning): 정답을 알려주면서 학습시키는 방법

ex) 회귀, 분류

2. 비지도 학습 (Unsupervised learning): 정답을 알려주지 않고 군집화(Clustering)하는 방법

 

 => 그룹핑 알고리즘(Grouping algorithm)의 성격, 라벨(Label 또는 Class)이 없는 데이터를 가지고 문제를 풀어야 할 때! 

3. 강화 학습(Reinforcement learning): 주어진 데이터없이 실행과 오류를 반복하면서 학습하는 방법 (대표적인 예: 알파고)

=> 행동 심리학에서 나온 이론으로 분류할 수 있는 데이터가 존재하지 않거나, 데이터가 있어도 정답이 따로 정해져 있지 않고, 자신이 한 행동에 대해 보상(Reward)를 받으며 학습하는 것

 

➡️ 머신러닝에서 문제를 풀 때, 해답을 내는 방법을 크게 회귀 (Regression) 또는 분류 (Classification)로 나눌 수 있다!

 

✅ 선형회귀(Linear Regression)

: 컴퓨터가 풀 수 있는 문제 중에 가장 간단한 것이 바로 두 데이터 간의 직선 관계를 찾아 내서 x값이 주어졌을 때 y값을 예측하는 것

 

 

우리가 만든 임의의 직선(가설)과 점(정답)의 거리가 가까워지도록 해야함.(=mean squared error)

 

가설(Hypothesis) : H(x) = Wx + b

 

 

Cost를 손실 함수(Cost or Loss function) : 

✔️다중 선형 회귀(Multi-variable linear regression) : 선형회귀와 같지만 입력 변수가 여러개이다.

 

경사 하강법 (Gradient descent method)

 - 우리의 목표는 손실 함수를 최소화(Optimize)하는 것

 - 손실 함수를 최소화하는 방법은 그래프를 따라 점점 아래로 내려가야함.

 - 랜덤으로 한 점으로부터 시작. 좌우로 조금씩 그리고 한번씩 움직이면서 이전 값보다 작아지는지를 관찰.

이때 한칸씩 전진하는 단위 = "Learning Rate"

 - 우리의 목표는 이 손실 함수의 최소점인 Global cost minimum을 찾는 것.

그런데 우리가 한 칸씩 움직이는 스텝(Learning rate)을 잘못 설정할 경우 Local cost minimum에 빠질 가능성이 높다.

 - Cost가 높다 = 우리가 만든 모델의 정확도가 낮다.

 - 최대한 Global minimum을 찾기 위해 좋은 가설과 좋은 손실 함수를 만들어서 기계가 잘 학습할 수 있도록 만들어야함!

 

 

✅ 데이터셋 분할

▪️Training set (학습 데이터셋, 트레이닝셋) = 교과서

머신러닝 모델을 학습시키는 용도로 사용. 전체 데이터셋의 약 80% 정도.

▪️Validation set (검증 데이터셋, 밸리데이션셋) = 모의고사

손실 함수, Optimizer 등을 바꾸면서 모델을 검증하는 용도. 전체 데이터셋의 약 20% 정도

머신러닝 모델의 성능을 검증하고 튜닝하는 지표의 용도로 사용

▪️Test set (평가 데이터셋, 테스트셋) = 수능

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

 

 

 

✅ 실습

https://colab.research.google.com/drive/1iaXh0BRvy74lGpVNU31vHnc8vo9PIbJ6

 

Google Colaboratory Notebook

Run, share, and edit Python notebooks

colab.research.google.com