머신러닝
머신러닝(기초 수학)
알럽유
2024. 1. 10. 17:57
728x90
지도학습
회귀 (Regression)
1. 입력값: 연속값(실수형), 이산값(범주형) 등 모두 가능
2. 출력값: 연속값(실수형)
3. 모델 형태: 일반적인 함수 형태
분류(Classification)
1. 입력값: 연속값(실수형), 이산값(범주형) 등 모두 가능
2. 출력값: 이산값(범주형)
3. 모델 형태: 이진 분류라면 시그모이드(sigmoid)함수,
다중 분류라면 소프트맥스(softmax) 함수 꼭 포함
Notations - 용어
데이터의 구성
- 데이터는 피터(feature)와 라벨(lable)로 구성됨
- 이는 독립 변수와 종속 변수로도 불림
- 라벨은 y로 표기하며, 라벨의 유무로 지도학습, 비지도 학습 구분
Feature(attribute, 피처)
- 데이터 X의 특징, 혹은 항목을 의미
- N : 데이터 샘플 갯수, D : 피처의 갯수
- ex) 혈압, 몸무게 나이
parameter (= weigth, 파라미터, 가중치)
- 주어진 데이터(입력값) 말고, 모델(함)이 가지고 있는 학습 가능한(learnable) 파라미터
Hyperparameter(하이퍼 파라미터)
- 모델 학습에 있어, 인간이 정해야하는 변수들
- 학습률, 배치 크기 등
Input(입력값) vs Output(출력값)
- Input : 모델(함수)에 입력되는 값으로 데이터의 피처 부분(x로 표기)
- Output : 모델로부터 출력되는 예측값(y^로 표기)
선형모델 vs 비선형 모델
- Linear regression (선형 회귀) : 파라미터를 선형 결합식으로 표현 가능한 모델
- Nonlinear regression (비선형 회귀) : 선형 결합식으로 표현 불가능한 모델
Basic Math for ML(1)
함수
- 두 집합 사이의 관계, 혹은 규칙
- y = f(x) 의 식으로 표현, 이 때의 x는 입력값, y는 출력
일차 함수
- y가 x에 대한 일차식으로 표현된 경우
- y = ax +b
- a를 기울기, b를 절편이라고 표현
이차 함수
- y가 x에 대한 이차식으로 표현된 경우
- y = a(x-p)2 +q
순간 변화율
- x의 값이 미세하게 변화 했을 때, y의 변화율
- 어떤 x값(= a)에서의 그래프와 맞닿는 접선의 기울
미분
- 함수 f(x)를 미분한다는 것은 함수의 순간 변화율을 구한다는 뜻
- f '(x) 또는 d/dx f(x) 로 표기
- Ex. f(x) = ax, f(x) = xa
함수의 최솟값
- 함수의 최솟값에서의 미분값(순간 변화율)은 항상 0임
- 이를 바탕으로 파라미터의 최적값을 구할 수 있음
지수함수
- y =ax
- a를 밑, x를 지수라고 부름
- 한쪽은 0으로 수렴, 다른 쪽은 무한으로 발산
자연 상수
- '자연로그의 밑' 또는 '오일러의 수' 등으로 불림
- 파이 처럼 수학에서 중요하게 사용되는 무리수
- 100%의 성장률을 가지고 1회 연속 성장 할 때 가질 수 있는 최대 성장량
로그함수
- y = loga X
- 지수함수와 역함수의 관계
- 로그함수의 밑이 e일때, y=ln x
편미분
- 원하는 변수에 대해서만 미분하는것
- 그 외의 모든 것들은 상수 취급
연쇄 법칙
선형 회귀
단순 선형 회귀
- 피처의 종류가 한 개인 데이터에 대한 회귀 모델
다중 선형 회귀
- 피처의 종류가 여러 개인 데이터에 대한 회귀 모델
다항 회귀
- 독립변수(피처)의 차수를 높인 회귀 모델
Loss function
평균 제곱 오차
- 회귀 문제에서의 대표적인 손실 함수
- 오차의 제곱의 평균
Least Square Method
최소 제곱법
- 최적의 파라미터를 구할 수 았는 한 방법으로, 데이터에 대한 오차를 최소화하도록 함
- 기울기 a와 절편 b의 일차 함수
경사 하강법
- 손실 함수의 값을 최소화시키는 방향으로 파라미터를 업데이트하자
- 함수의 최솟값은 무조건 순간 변화율이 0이다
- 손실 함수에 대한 미분값이 0이 되는 방향으로 파라미터의 업데이트 방향을 결정
슈도 코드
- 현재 파라미터에서의 손실 함수에 대한 미분값을 구함
- 미분값의 반대 방향으로 파라미터값을 업데이트
- 미분값이 0이 될 때까지 1~2번을 에폭(epoch)만큼 반복