머신러닝

머신러닝(기초 수학)

알럽유 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)만큼 반복