-
[6주차 - Day1] ML_basics - Probability교육/프로그래머스 인공지능 데브코스 2021. 6. 1. 21:22728x90
1. Machine Learning 기초 - 소개
Machine Learning이란?
Machine Learning(기계학습)
- 경험을 통해 자동으로 개선하는 컴퓨터 알고리즘의 연구
- 학습 데이터 : x1, x2, ...xn(입력벡터) -> t1, t2, ...tn(목표값)
- 머신러닝의 결과 : 목표값을 예측하는 함수 f(x)
핵심개념들
- 학습단계(training or learning phase) : f(x)를 학습데이터에 기반해 결정하는 단계
- 시험셋(test set) : 모델을 평가하기 위해 사용하는 새로운 데이터
- 일반화(generalization) : 모델이 새로운 데이터에 대해 올바른 예측을 수행하는 역량
- 지도학습(supervised learning) : target이 주어진 경우
- 분류(classification)
- 회귀(regression)
- 비지도 학습(unsupervised learning) : target이 없는 경우
- 군집(clustering)
다항식 곡선 근사(Polynomial Curve Fitting)
학습데이터 : (x1, ...,xn)^T, (t1,...,tn)^T
확률이론(probability theory) : 예측값의 불확실성을 정량화시켜 표현할 수 있는 수학적인 프레임워크 제공
결정이론(decision theory) : 확률적 표현을 바탕으로 최적의 예측을 수행할 수 있는 방법론 제공
x에 관해서는 다항식, 모델 파라미터(w)에 관해서는 선형식
w가 어떤 값인지는 모르지만 고정된 값 w를 찾아내는 게 목표
오차함수(Error Function)
w를 어떻게 찾을 것인가?->주어진 w에 대한 함수값 y와 데이터에 주어진 t의 차이를 표현=>오차함수
오차함수 중 가장 일반적인 함수 : 오차의 제곱합(sum of squares)
항상 양수로 결과가 나올 것(제곱했기 때문에)
오차함수의 결과값이 가장 작게 나오는 경우는 0
->예측값==목표값인 경우
과소적합(Under-fitting)과 과대적합(Over-fitting)
규제화(Regularization)
2. 확률이론1
확률변수(Random Variable)
표본의 집합 S의 원소 e를 실수값 X(e)=x에 대응시키는 함수
- X, Y, ... : 확률변수
- x, y, ... : 확률변수가 가질 수 있는 값
확률 P는 집합 S의 부분집합을 실수값에 대응시키는 함수
ex)동전 뒤집기
S={HH, HT, TH, TT}
X(HH)=2, X(HT)=1, X(TH)=1, X(TT)=0
P[X=1]=P[{HT, TH}]=2/4=1/2
P[X<=1]=P[{HT, TH, TT}]=3/4
연속확률변수(Continuous Random Variables)
누적분포함수를 가진 확률변수 X에 대해서 다음을 만족하는 f(x)가 존재한다면 X를 연속확률변수라고 부르고 f(x)를 X의 확률밀도함수(probability density function, pdf)라고 부름
확률변수의 성질(The Rules of Probability)
확률변수의 함수(Functions of Random Variables)
확률변수 X의 함수 Y=f(x)도 확률변수
확률변수 X의 함수 Y=g(x)와 역함수 w(Y)=X가 주어졌을 때 다음이 성립
k차원의 확률변수 벡터 x=(x1, ..., xk)가 주어졌을때, k개의 x에 관한 함수들 yi=gi(x for i =1, ..., k)는 새로운 확률변수벡터 y=(y1, ..., yk)를 정의 =>y=g(x)
y=g(x)가 일대일변환인 경우(x=w(y)로 유일한 해를 가질때), y의 결합확률밀도함수(joint pdf)는
예제)
Inverse CDF Technique
기댓값(Expectations)
확률분포 p(x)하에서 함수 f(x)의 평균값
분산(variance), 공분산(covariance)
f(x)의 값들이 기댓값으로부터 흩어져 있는 정도
빈도주의 대 베이지안(Frequentest versus Bayesian)
확률을 해석하는 두가지 다른 관점
빈도주의 : 반복가능한 사건들의 빈도수에 기반
베이지안 : 불확실성을 정량적으로 표현
*반복가능하지 않은 사건일 경우 : 만년설이 이번 세기말까지 녹아 없어질 확률? 우리가 이미 알고 있는 정보에 근거해 확률을 정량적으로 나타낼 수 있고 새로 수집하는 정보에 따라 확률을 업데이트가능
w(모델 파라미터)에 대한 사전지식 p(w)->사전확률(prior)
새로운 데이터 D를 관찰하고 난 뒤의 조건부확률 p(D|w)->우도함수(likelihood function) : 특정 w값에 대해 D의 관찰값이 얼마나 가능성이 있는지 나타냄
사후확률(posterior)은 우도(likelihood)*사전확률(prior)에 비례
빈도주의는 w가 고정된 파라미터, 최대우도와 같은 추정자(estimator)를 사용해서 값을 구함, 구해진 파라미터의 불확실성은 부트스트랩 방법을 써서 구할 수 있음
더보기*머신러닝에서 부트스트랩이란?
샘플링 분포를 추정하기 위한 샘플링 기법
원본 데이터셋에서 중복을 허용하여 샘플링을 반복함으로써 모집단으로부터 새로운 데이터를 생성하는 방법<->홀드아웃방식(중복 허용 x)
방식
1. n크기 데이터셋
2. 부트스트랩을 b회 반복
데이터셋에서 하나의 샘플을 뽑고 j번째 부트스트랩에 할당, 부트스트랩 샘플 크기가 원본 데이터셋 크기인 n이 될 때까지 반복, 어떤 샘플은 두번이상 포함될수도, 한번도 포함 안 될수도 있음
3. b개의 부트스트랩 샘플 각각에 모델을 학습, 정확도 계산
4. b번의 정확도 추정을 평균내어 모델의 정확도 계산
베이지안 관점의 장점 : 사전확률을 모델에 포함가능
정규분포(Gaussian Distribution)
정규분포 정규화 평균이 0인 경우
정규분포 기댓값
정규분포
정규분포 최대우도해(Maximum likelihood solution)
우도 : 같은 가우시안 분포로부터 n개의 샘플을 추출한다고 가정 추출된 샘플이 가지는 확률
곡선근사(Curve Fitting) : 확률적 관점
'교육 > 프로그래머스 인공지능 데브코스' 카테고리의 다른 글
[6주차 - Day3] ML_basics - E2E (0) 2021.06.04 [6주차 - Day2] ML_basics - Decision Theory & Linear Regression (0) 2021.06.01 Monthly Project1 (0) 2021.05.25 5주차 - Day2 Django로 동적 웹 페이지 만들기 (0) 2021.05.18 5주차 - Day1. Web Application with Django (0) 2021.05.18