혼자 아닌 혼자가 되고 싶은 나의 인생
머신러닝과 알고리즘의 이해 : 지도학습 알고리즘 본문
머신러닝과 지도학습 알고리즘
학습할 데이터와 명시적인 정답(레이블)을 이용하여 데이터의 특성과 분포를 학습하여 새로운 데이터에 대한 미래 결과를 예측하는 방법
분류
- K-최근접 이웃 알고리즘
- 서포트 벡터 머신
- 의사결정트리
- 랜덤포레스트
- 나이브 베이즈
회귀
- 선형회귀
- 로지스틱 회귀 : 수치저으로 예측 후 분류
선형회귀 (Linear Regression)
회귀분석 : 입력변수 X의 정보를 활용하여 출력변수 Y를 예측하는 방법
선형회귀란? 입력변수(X)와 출력변수(Y)가 1차함수 형태로 나타나는 관계를 모델링하는 방법
1) 단순선형회귀
- 변수가 1개인 경우
- 실제 데이터의 식 : Y = B0 + B1X
- 즉, 선형회귀는 학습데이터를 이용하여 회귀계수 B0, B1을 추정하는 작업
2) 다중선형회귀
- 변수가 여러 개인 경우
- 우리가 추정해야 하는 식 : Y = B0 + B1X1 + B2X2 ... BnXn
선형회귀의 목표 : 직선과 데이터차이가 평균적으로 가장 작아지는 직선 찾기 (가장 훌륭한 예측선 긋기)
- 임의의 직선을 그어 이에 대한 평균 제곱 오차를 구하고, 이 값을 가장 작게 만들어 주는 a와 b값을 찾아가는 작업
잔차(residual) : 실제 값과 추정한 값의 차이
잔차를 최소화하는 방향으로 직선 추정
- 일반적으로 잔차의 제곱합을 최소화하는 방향으로 추정
- 선형회귀를 공부하는 과정은 여러 표본들의 특성을 가장 잘 나타내는 선을 그리는 과정과 일치함
- 여기서 선은 직선이므로 곧 이차함수 그래프임 ( y = ax + b, x는 독립변수, y는 종속변수, 상수 a, b를 정확히 추정하여야 함)
최소제곱법
최소제곱법(method of least squares)라는 공식을 적용한다면, 이를 통해 일차함수의 기울기a와 절편b를 바로 구할 수 있음. (a = ((x-x평균)(y-y평균)의 합)/(x-x평균)^2의 합 / b = y의평균 - (x의평균 * 기울기a))
이렇게 구해진 직선의 방정식 오차가 가장적은 주어진 좌표의 특성을 가장 잘 나타내어진 예측직선
평균제곱오차
여러개의 입력값을 계산할 때는 임의의 직선을 그리고 난 후, 선이 얼마나 잘 그려졌는지 평가하여 조금씩 수정해 가는 방법을 사용하며, 이를 위해 주어진 선의 오차를 평가하는 오차 평가 알고리즘이 필요.
평균제곱오차(Mean Squared Error, MSE) : 오차의 합에 이어 각 x의 평균 오차의 합을 n으로 나누어 오차 합의 평균을 구할 수 있음.
잘못 그은 선 바로잡기
모든 머신러닝/딥러닝 프로젝트는 여러 개의 입력변수를 다루며 이를 만족하는 최적의 직선을 찾기 위해 가장 많이 사용하는 방법은 ' 일단 그리고 조금씩 수정해나가기 ' 방식
가설을 하나 세운 뒤 주어진 요건이 충족허는지 판단하여 평균제곱오차를 최소화하며 조금씩 변화를 준다,
머신러닝과 딥러닝을 가능하게 하는 가장 중요한 원리.
'컴퓨터 사이언스 > Machine Learning 기초' 카테고리의 다른 글
머신러닝과 알고리즘의 이해 : K-Nearest Neighbors 알고리즘 (0) | 2022.01.31 |
---|---|
머신러닝과 알고리즘의 이해 : 의사결정트리/서포트벡터머신 (0) | 2022.01.31 |
머신러닝과 알고리즘의 이해 : 지능형 자가 학습이란? (0) | 2022.01.30 |
머신러닝과 알고리즘의 이해 : 인공지능, 딥러닝, 머신러닝이란? (0) | 2022.01.30 |