You are on page 1of 133

1/133

지도학습 및 회귀 알고리즘

 지도 학습(Supervied learning) 알고리즘


 경사하강법(Gradient descent)
 회귀(Regression) 알고리즘
 회귀 목적 및 원리
 선형(Linear) 회귀
 중(Multivariable) 회귀
 고차원(Higher order) 회귀
 과적합(Overfitting)과 학습부족(Under fitting) 및
정칙화(Regualarization)
 서포트벡터머신(Support vector machine) 회귀
 커널(Kernel) 회귀

2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
2/133

지도학습 알고리즘
 지도 학습 알고리즘
 기계 학습은 주어진 데이터로부터 규칙을 찾아내고, 이를 이용해
서 미지의 새로운 데이터에 대하여 예측을 하고자 하는 것이 목적
 지도 학습은 정답 또는 오답(→모두 레이블이라고 함)을 갖고
컴퓨터(기계)가 학습을 하여 데이터로부터 예측을 하는 경우를
의미
 소비자에게 제품 정보를 추천하는 경우에 학습이 잘 못 된 모델을
사용하게 되면 틀린 정보에 의한 추천을 할 수도 있음

2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
3/133

지도학습 알고리즘
 지도 학습 알고리즘

2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
4/133

지도학습 알고리즘
 지도 학습의 사례
 수신한 메일이 스팸인지 여부를 예측하는 시스템
 휴대폰 사진에서 웃는 얼굴인지를 예측하는 시스템
 뉴스 기사의 분야를 예측하는 시스템 등
 지도 학습의 절차

2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
5/133

지도학습 알고리즘
 지도 학습의 절차
 지도 학습 데이터를 작성(Labelling)
 레이블이 된 데이터의 질에 의하여 기계학습의 정확도가 크게
좌우
 일반적인 레이블링 방법
(1) 인력(구성원)에 의하여 레이블링
(2) 클라우드 서비스에 의하여 레이블링
(3) 사용자(소비자)가 입력하도록 하여 레이블링
 이와 같은 절차를 거쳐 데이터를 준비하고 분석을 위한 전처리(정
규화 등)를 수행한 이후에 학습 모델을 생성

2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
6/133

지도학습 알고리즘
 지도 학습 모델의 일반적인 구성 요소
(1) 손실 함수(입력 데이터의 정답 레이블의 값과 모델이 계산한 값과
의 차이)의 정의
(2) 손실 함수(코스트 함수 등)의 최소화에 적용할 최적화 기법을 결정
(3) 훈련 데이터를 활용한 최적화 기법을 적용하는 절차
 지도 학습 알고리즘
Linear(Ordinary) Regression, Bayesian Linear Regression
Ridge Regression, Lasso Regression
Regression(회귀) Support vector Regression, Random Forest
Boost decision tree, Neural network
Logistic Regression, Random(Decision) Forest
Boost decision tree, Averaged perceptron
Two-class Support Vector Machine, Naive Bayes
Classification
Neural network
(분류) Logistic Regression, Random(Decision) Forest
Multi-class One-v-all multiclass, k-nearest neighbors
Neural network

2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
7/133

경사하강법
 경사하강법(Gradient descent)
 선형회귀 알고리즘 이외에서도 사용할 수 있는 범용 계산 방법
 확률적 경사강하법은 대규모 데이터에서도 계산 가능하도록
확장한 계산 방법
 경사하강법은 로지스틱회귀, SVM, 신경망 등의 많은
알고리즘에서 최적의 파라미터를 찾는데 많이 사용
 경사하강법의 원리 : 함수의 최소값은 미분값이 0이 되는 지점

2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
8/133

경사하강법
 함수의 임의의 점에서 기울기(미분값)

 기울기는

2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
9/133

경사하강법
 벡터의 내적(inner product)으로 표현을 하면

 ΔZ 최소가 되는 것은 두 벡터가 반대 방향일 경우

2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
10/133

경사하강법
 함수가 약간 이동하여 최대로 감소하는 경우

 이를 일반화하여 적용을 하면

2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
11/133

회귀 목적 및 원리
 머신러닝에서 회귀는 입력 데이터와 출력 데이터의 그룹으로부터
규칙을 찾아내어 미지의 입력 데이터에 대하여도 적절한 출력을
예측할 수 있도록 하는 알고리즘
 정답(레이블) 데이터로부터 학습하기 때문에 지도 학습의 한 가지
 회귀 알고리즘을 사용하는 목적은, 주어진 데이터에 대하여 관계를
나타내는 수식을 가정하여 해당 데이터에 제일 맞는 수식의 관계를
결정하는 것
 많은 데이터를 그림이나 함수 관계로 나타낼 때, 관련 변수들의
관계성을 나타내는 직선 또는 곡선의 식(함수)을 찾아내는 것
 학습 단계에서 데이터의 입력변수와 출력변수인 정답(레이블)과의
관계를 학습하여 미지의 데이터의 입력값에 대하여 최적의
출력값을 예측할 수 있도록 하는 것이 목적

2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
12/133

회귀 목적 및 원리
 회귀는 수치를 예측하는 문제를 일컫는 것으로, 입력과 출력의
관계(함수)를 추정(근사)하는 문제
 직선으로 근사할 수 있는 데이터의 예(왼쪽)와 곡선으로 근사할
수 있는 데이터의 예(오른쪽)

2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
13/133

회귀 목적 및 원리
 회귀 알고리즘을 이용해서 산업계에서 문제를 해결한 사례
 중요한 공정에 많은 센서를 설치하여 데이터를 수집해서
정상적인 상태를 모델링(회귀)
 고장이 발생할 수 있는 가능성이 있으면 데이터에 이상 경
향이 발생하기 때문에 작업자가 발견하기에 앞서 매우 빠르
게 이상의 발생의 가능성을 예측이 가능

2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
14/133

회귀 목적 및 원리
 데이터의 입력과 출력의 관계성을 함수로 나타낸 것이 회귀
모델
 데이터를 이용한 학습(훈련)을 통하여 데이터의 입출력 관계
를 파악(회귀 모델을 구축)하고, 정상적인 경우와 비교하여 실
제 데이터가 비정상적인 형태의 발견이 가능

2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
15/133

회귀 방법과 구분
 회귀는 주어진 데이터로부터 입출력 관계성을 나타내는 선, 즉
함수를 구하는 것을 의미
 데이터의 분포로부터 함수 관계를 얻기 위해서는 일반적으로 가장
가까울 것 같은 함수를 선택하여 계수를 조절하여 맞도록 하는
방법을 적용
 식의 형태로 구분을 하면, 선형 회귀와 비선형 회귀로 구분
 변수의 개수로 구분을 하면 단순 회귀와 중 회귀로 구분
 단순 회귀는 입출력의 관계가 변수 한 개로 나타낼 수 있는
관계(예 y=ax+b)로 가정한 것이고 단순 회귀에도 선형과 비선형
 중 회귀는 두 개 이상의 변수를 사용하는 회귀를 의미한다. 예를
들어 y=ax1+bx2+cx3+d와 같은 가정으로 회귀 관계를 구하는
것이고, 선형과 비선형 모두 대상
2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
16/133

예측 모델의 훈련의 흐름
 회귀는 입력 x데이터에 각각 대응하는 출력 데이터 y를 준비하고
훈련 데이터를 사용하여 입력 데이터로부터 출력 데이터를
예측하는 최적의 모델((hθ(x) 또는 f(x))을 찾는 알고리즘
 훈련된 결과 모델을 이용하여 미지의 데이터에 대하여 출력 결과를
예측
 예측 모델의 훈련의 흐름
(1) 데이터 세트를 훈련 데이터와 테스트 데이터로 분할하는데, 일반적
으로 7:3 또는 8:2 정도로 분할
(2) 데이터의 모든 변수들을 표준화를 하여 평균 0, 표준 편차 1이 되
도록
(3) 예측 모델을 지정

2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
17/133

예측 모델의 훈련의 흐름
 예측 모델의 훈련의 흐름
(4) 데이터의 특성과 모델에 적합한 손실함수를 지정. 예를 들어
MSE(mean square error)를 사용
(5) 훈련 데이터와 손실함수를 이용하여 모델을 훈련하여 손실함수가
최소화되는 모델의 패러미터를 계산. 손실함수는 모델에서 계산된
출력과 입력 데이터의 정답(레이블)의 차이(오차)를 계산하는 것으
로, 이를 이용하여 오차가 적어지도록 패러미터를 갱신.
(6) 테스트 데이터를 이용하여 모델을 평가.

2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
18/133

선형 회귀
 회귀 알고리즘은 지도학습 예측 모델로서 연속적인 결과를 출력
 선형회귀에는 단순 회귀 모델, 중 회귀모델, 다항식 회귀 모델 등의
3개의 예측 모델
 단순 회귀는 1개의 특징변수
 중 회귀는 복수의 특징변수를 갖는 모델
 다항식 회귀는 특징변수에 고차의 항을 추가한 모델
 특징변수가 너무 복잡하게 되면 모델이 과도학습을 하게 될 문제가
있음
 선형 회귀는 데이터의 선형결합으로 다음과 같은 모델을 만드는
것이 목적

2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
19/133

선형 회귀
 선형 회귀는 모델 f(x)로부터 패러미터 w와 b를 구하는 문제
 x에 대한 미지의 y를 구하는 문제
 선형 회귀는 다음의 식을 가능한 한 작게 만드는 w와 b를 찾는 것

 수학에서는 어떤 식을 최소화 또는 최대화하는 경우, 이 식을


목적 함수(objective function)라고 함.
 이와 같은 목적함수에 대하여 식 을 손실함수(loss
function)라고 하고, 손실함수를 이와 같이 정의하는 것을
제곱오차손실(squared error loss(SEL))이라고 함
 손실함수가 최소화되는 조건을 찾는 것이 학습 알고리즘
 손실함수는 훈련 데이터에 모델을 적용하여 얻게 되는 모든 페널티의
평균
2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
20/133

선형 회귀
 단순 선형 회귀
 단순 회귀는 1개의 변수로 구성
 어떤 데이터 집합이 1개의 속성(특징변수)을 갖는 것을 의미
 (예) 사람을 이름, 나이, 주소 등 다양한 속성으로 구분을 할 수
있는데 이 가운데, 예를 들어, 1개의 속성인 나이만으로 모델을
만드는 것
 구한 새로운 직선은 레이블이 없는 새로운 데이터에 대한 목적
변수(특징변수)의 값을 예측하는데 사용
 예제에서 기호(+)는 훈련 데이터를 나타내고 직선은 선형 회귀
결과, 즉 훈련(학습)이 된 모델의 결과를 나타냄

2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
21/133

선형 회귀
 단순 선형 회귀 예제
linear_regression.ipynb

2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
22/133

선형 회귀
 노이즈가 있는 단순 선형 회귀 예제
linear regression with noise.ipynb

2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
23/133

경사하강법을 이용한 선형 회귀
 경사하강법을 이용한 단순 선형 회귀 예제
 선형 회귀 모델

 손실 함수

 손실 함수의 최소화  학습률(α)을 적용하여 w와 b의


갱신

2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
24/133

선형 회귀
 경사하강법을 이용한 단순 선형 회귀 예제

2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
25/133

경사하강법을 이용한 선형 회귀
 경사하강법을 이용한 단순 선형 회귀 예제
 학습이 되면서(epoch가 증가하면서) 손실 함수가 줄어들고,
w와 b가 수렴

2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
26/133

경사하강법을 이용한 선형 회귀
 경사하강법을 이용한 단순 선형 회귀 예제

gradient_descent_regression.ipynb

2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
27/133

경사하강법을 이용한 선형 회귀
 경사하강법을 이용한 단순 선형 회귀 예제

2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
28/133

경사하강법을 이용한 선형 회귀
 경사하강법을 이용한 단순 선형 회귀 예제

2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
29/133

중 회귀
 중회귀는 Multivariable regression
 예를 들어 와 같이 복수의 변수를 사용하는
식을 가정한 회귀 문제
 훈련 데이터는 (+)로 표시하였고 예측(학습) 결과는 (●)으로 표시

2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
30/133

중 회귀
 중 회귀 예제
multiple_regression_with_noise.ipynb

2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
31/133

중 회귀
 중 회귀 예제(3.3.2_multiple_regression_with_noise.ipynb)

2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
32/133

고차원 회귀
 와 같이 2차 함수로 가정한 데이터에 대하여
회귀를 계산
 노이즈(편차)가 있는 경우의 예제
 훈련 데이터는 (+)로 표시하였고 예측(학습) 결과는 (●)으로
표시

2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
33/133

고차원 회귀
 2차원 회귀 예제 코드
quadratic_regression.ipynb

2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
34/133

결정 계수

 회귀 문제에서는 결과의 타당성을 객관적으로 평가하기 위


해서 R2(coefficient of determination, 결정계수)를 사용
관측값과 예측값의 차이의 제곱의 합
R2=1-
   관측값과 관측값 전체의 평균의 차이의 제곱의 합

 관측된 값은 오차를 포함하기 때문에 정답과는 차이가 있다.


 관측 값과 예측값이 실제 값과 가까워지면 분자가 0에 가까
워져 결정계수는 1에 가까워진다.
 예측 값과 관측 값의 차이가 큰 경우에는 분자가 0에서 멀어
져 결정계수는 1보다 작아진다.
 따라서 R2가 1에 가까울수록 예측 모델의 정확도가 높다고
할 수 있다.

2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
35/133

학습부족과 과도학습
 학습율(η)의 대소에 따른 학습 부족과 과도학습 문제

 선형 회귀, 로지스틱 회귀, SVM, 딥러닝 등 많은 머신 러닝


알고리즘에 사용

2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
36/133

과적합, 학습부족, 정칙화


 Overfitting, Underfitting
 머신러닝의 학습 후에 발생할 수 있는 문제가 과도학습(과적합)
(overfitting) 또는 학습부족(underfitting)
 과도학습은 주어진 학습 데이터에 너무 적응하여 미지의
데이터에 대한 예측이 안 좋아지는 현상

(a) Underfitting (b) Good (c) Overfitting

2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
37/133

과적합, 학습부족, 정칙화


 학습부족은 모델이 훈련 데이터의 정답(레이블)을 잘 예측하지 못
하는 것으로 모델의 능력부족을 의미
 데이터의 복잡도에 비해서 모델이 지나치게 단순한 경우
 예를 들어 명백히 곡선으로 예측이 되는 데이터를 직선으로 회귀
하려고 하는 경우
 데이터의 속성(특징변수)이 충분한 정보를 나타내지 못하는 경우
 예를 들어 자동차의 연비를 자동차의 길이와 높이 데이터를 이용
해서 예측을 하려고 하는 경우
 학습 부족을 해결하기 위해서는
 보다 복잡한 모델을 구축
 데이터의 속성을 다양하게 하여 예측 정도를 높이는 방법

2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
38/133

과적합, 학습부족, 정칙화


 과도학습(과적합)은 훈련 데이터의 정답(레이블)을 비교적 잘 예측
하지만, 그 이외의 새로운 데이터에 대하여는 예측이 틀리는 경우
 기계학습은 학습결과가 정확하고 일반화 성능(generalization
ability)을 갖는 것이 중요
 일반화 성능이란 훈련된 모델이 훈련되지 않은 미지의 데이터에
대해서도 잘 예측하는 정도를 의미
 훈련데이터에만 잘 맞고 미지의 데이터에 대하여 정확도가
떨어지는 것은 일반화 성능이 낮은 것
 과도학습을 줄이고 일반화 특성을 높이는 것은 매우 중요한 문제
 이를 해결하기 위한 많은 알고리즘들을 연구

2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
39/133

과적합, 학습부족, 정칙화


 레이블의 데이터를 9차 함수로 회귀를 하였을 경우에 훈련(학습)
결과와 테스트(검증) 결과를 비교한 예제
 훈련 데이터에 대하여는 잘 예측된 것으로 보이지만, 테스트 데이
터에 대하여는 훈련 결과와 비교하여 좋지 못 한 결과
 데이터의 복잡도에 비해서 모델이 지나치게 복잡하기 때문
 원래 데이터는 4차식이지만 이를 9차식으로 회귀를 하였기 때문에
과도학습을 하게 되었고, 데이터 개수를 늘리거나 모델의 복잡도를
축소시키거나 할 수 있는 것이 필요하지만 좋은 방법이 아님

2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
40/133

과적합, 학습부족, 정칙화


 과도학습(과적합) 예제 코드
overfitting.ipynb

2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
41/133

과적합, 학습부족, 정칙화


 과도학습(과적합) 예제 코드

2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
42/133

과적합, 학습부족, 정칙화


 Regularization(L2) 예제 코드
 과도학습을 알고리즘을 통하여 해결하고자 하는 것이 벌칙 항목
이 포함되는 정칙화(Regularization) 회귀
 테스트 데이터에 대한 9차식 회귀의 결정계수가 증가
 회귀에서 많이 사용하는 손실함수가 평균제곱오차(Mean square
error)이고 오차뿐만 아니고 모델의 복잡도를 더 한 것이 벌칙 포함
회귀

2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
43/133

과적합, 학습부족, 정칙화


 L2 Regularization
ridge_regularization.ipynb

2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
44/133

과적합, 학습부족, 정칙화


 L2 Regularization

2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
45/133

과적합, 학습부족, 정칙화


 L1, L1+L2 Regularization
 정칙화는 모델의 과도학습을 억제하여 일반화(generalization)
성능을 향상시키는 알고리즘
 모델의 과도학습을 억제하는 L1 정칙화(Lasso regression)는
일부의 패러미터 값을 제로로 하여 특징 선택을 수행
 L2 정칙화는 패러미터의 크기에 따라 제로에 가깝게 하여
일반화되고 부드러운 모델을 수행을 하는 것
 L2 정칙화를 적용한 알고리즘이 Ridge regression
 L1과 L2를 조합한 것이 Elastic Net 알고리즘
 정칙화(regularization)는 손실함수의 패러미터가 지나치게 커지지
않도록 벌칙(penality)를 가하는 것으로, Ridge 회귀(L2)에서는
벌칙항이 학습 패러미터의 제곱의 합을 적용한 것

2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
46/133

과적합, 학습부족, 정칙화


 L1, L1+L2 Regularization
 L2 정착화에서 손실함수는

 2차로 가정한 경우의 손실함수는

 L1 정착화(2차 가정)에서 손실함수는

 L1+L2(Elastic Net)에서 손실함수는

2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
47/133

과적합, 학습부족, 정칙화


 L2 Regularization

(a) α=0.00001일 경우 (b) α=0.1일 경우

 L1 Regularization  L1+L2 Regularization

2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
48/133

과적합, 학습부족, 정칙화


 L1, L1+L2 Regularization
regularizations.ipynb

2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
49/133

과적합, 학습부족, 정칙화


 L1, L1+L2 Regularization

2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
50/133

서포트벡터 회귀
 Support Vector Machine(SVM) Regression
 서포트벡터머신 원리는 회귀에도 사용을 하고 분류에도 사용
 마진 최대화라는 원리를 이용
 ▲와 ●으로 구분되는 두 종류(클래스)의 데이터를 두개의
그룹으로 분류하는 마진의 최대화의 예

 마진은 구분직선(하이퍼플레인)과 가장 가까운 데이터와의


거리를 의미
2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
51/133

서포트벡터 회귀
 2차원인 경우에 마진이 최대가 되도록 분류하는 직선(하이
퍼플레인)을 찾는 것이 SVM
 마진 안쪽에 데이터가 있는 경우에는 회귀에 사용 가능
 Support vector regression(SVR)
 SVR은 오차 허용 폭(마진)을 고려하여 노이즈에 둔감한
회귀 알고리즘으로 사용 가능(regularization)

2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
52/133

서포트벡터 회귀
 선형 서포트벡터 회귀는 마진을 사용하여 마진 밖에 있는
서포트벡터만으로 예측 모델을 작성하는 알고리즘
 예측 모델은 서포트벡터(패러미터)와 선형커널(특징변수)의
훈련 데이터별로 선형 합의 식이 됨
 서포트벡터 회귀는 예측 모델의 선형 커널을 가우스커널로
변경을 하여 곡선의 표현이 가능
 SVR은 선형 회귀에 ‘경사’와 ‘편차’를 추가한 것으로 점선으
로 margin을 표시
 SVR의 오차는 margin에서 벗어난 훈련 데이터에서 발생하
고, 훈련 데이터가 margin 내(선 포함)에 있으면 오차는 0
 Margin의 폭은 hyperpapameter로 지정

2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
53/133

서포트벡터 회귀
 Scikit-learn 데이터를 이용한 Support Vector Regression

2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
54/133

서포트벡터 회귀
 Scikit-learn 데이터를 이용한 Support Vector Regression
SVM_regression.ipynb

2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
55/133

서포트벡터 회귀
 Scikit-learn 데이터를 이용한 Support Vector Regression

2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
56/133

커널 회귀
 Kernel regression
 3차원 이상의 문제에서 사용하는 것이 커널 회귀
 커널 회귀는 패러미터를 갖지 않는 방법으로 학습해야만 하는
패러미터가 없는 알고리즘으로 데이터 자체를 기반으로 작성
 가장 단순한 형태로 다음과 같은 모델을 찾는 것

 가장 많이 사용되는 것이 가우스 커널(Gaussian kernel)

2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
57/133

커널 회귀
 Kernel regression
 b는 하이퍼패러미터이고 검증 데이터를 이용하여 그 값을 조정
 어떤 b의 값을 갖는 모델에 대하여 검증 데이터를 사용하여
MSE를 계산
 b의 값이 회귀곡선의 형태에 미치는 영향

2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
58/133

커널 회귀
 Kernel regression

kernel_regression.ipynb

2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
59/133

커널 회귀
 Kernel regression

2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
60/133

분류 알고리즘

 분류(Classification) 알고리즘
 분류 목적 및 원리
 분류 모델의 평가
 결정 트리(Decision tree) 및 랜덤포레스트(Random forest)
 로지스틱(Logistic) 회귀
 소프트맥스(Softmax) 회귀
 서포트벡터머신 분류
 가우스커널(Gauss kernel) 서포트벡터 분류

2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
61/133

분류 목적 및 원리
 분류 알고리즘
 기계학습에서 분류 알고리즘은, 데이터를 각 특성에 따라 분류하기
위한 것
 분류 레이블 자체는 사용자가 지정해주는 지도 학습 알고리즘
 정답(레이블)이 있는 데이터를 이용하여 학습하여 모델을 구축한
이후에 미지의 데이터를 분류하는 것이 목적

2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
62/133

분류 목적 및 원리
 주요 분류 알고리즘의 결정 경계 형태와 클래스 수 비교

분류 알고리즘 결정 경계 형태 클래스 수
랜덤 포레스트 비연속 제한 없음(다클래스)
로지스틱 회귀 선형 제한 없음(다클래스)
소프트맥스 회귀 선형 제한 없음(다클래스)
선형 서포트벡터 분류 선형 2 클래스
가우스커널 서포트벡터 분류 비선형 제한 없음(다클래스)

 분류 알고리즘은 데이터의 특징에 따라 클래스로 분류하는 것이


고, 클래스의 경계를 결정 경계라고 함
 결정 경계를 결정선, 결정면, 분할선, 결정경계, 경계선, 경계면,
결정초평면(hyperplane), 결정곡선 등으로 부르기도 함

2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
63/133

분류 목적 및 원리
 결정 경계의 예

 분류 알고리즘에는 랜덤 포레스트, 로지스틱 회귀, 소프트맥스


회귀, 선형 서포트벡터 분류, 가우스 커널 서포트벡터 분류 등

2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
64/133

분류 모델의 평가
 훈련 데이터를 사용하여 학습 알고리즘으로 모델을 구축하고 그
모델이 어느 정도 우수한지를 평가하기 위해서 테스트 데이터
세트를 이용하여 모델을 평가하는 것이 중요
 모델이 테스트 데이터에 대해서도 레이블을 정확하게 예측하게
되면 일반화 성능이 우수하다고 할 수 있음
 회귀 모델의 평가는 매우 간단하지만 분류의 경우에는 모델의
평가가 용이하지 않음
 분류 알고리즘은 문제에 특성에 맞는 분류 특성을 갖는 것이
중요하고, 상황에 따라 적합한 평가 방법을 적용하는 것이 필요
 혼동 행렬(confusion matrix), 정확도(accuracy), 적합율과
재현율(precision/recall), ROC(Receiver operating characteristic)
곡선 아래 면적(area under the ROC curve) 등
2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
65/133

분류 모델의 평가
 두 개의 분류 알고리즘에 대하여 분류 성능을 비교 예
 (a)의 경우는, 정확도(accuracy, 식 (3.19))는 0.99이지만 정상 부품 속에
불량 부품이 섞여 있으면 제품 생산에 문제가 발생
 (b)의 경우는 정확도는 낮아도 불량 부품을 바르게 분류
 일부 정상 제품을 불량 부품을 분류하기도 하였지만 불량 부품은 모두
불량 부품으로 분류

2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
66/133

분류 모델의 평가
 혼동행렬(confusion matrix) 또는 분할표(Contingency table)
 분류 모델에 의하여 다양한 클래스에 속하는 데이터의 예측이
어느 정도 적절히 수행이 되었는지를 정리한 표
 혼동행렬의 한 축에는 모델이 예측한 레이블이 있고 다른 한
축에는 실제 레이블(정답)을 표시
 이진(binary 또는 이치) 분류에서는 클래스가 2개

예측값
Y N

위음성(False
Y 진양성(True Positive)
Negative)
실제값
위양성(False 진음성(True
N
Positive) Negative)

2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
67/133

분류 모델의 평가
 정확도(accuracy)
 클래스로 분류가 된 데이터 가운데, 올바르게 분류된 데이터의
비율을 의미

 정확도는 어느 클래스이든 오차가 없이 예측하려고 하는 경우에


필요한 척도
 불량 부품인지 정상 부품인지를 예측하는 것은 정확도와는
관계가 없음
 정상 부품 검출에서는 위양성(FP, 불량 부품을 정상 부품으로
예측)의 허용은 곤란하지만, 위음성(FN, 정상 부품을 불량
부품으로 예측)은 모델의 정확도에 따라서 발생할 수도 있음
2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
68/133

분류 모델의 평가
 정상 부품 검출에서 위양성은, 불량 부품을 정상 부품으로 잘 못
판단하여 제품 조립에 사용하게 되기 때문에 문제가 될 수 있음
 위음성(FN)은 모델이 정상 부품을 불량 부품으로 판단을 하여
폐기를 하는 경우가 됨
 적합율(precision)과 재현율(recall)
 모델의 성능 평가에 제일 많이 사용되는 2 개의 척도는 적합율
(precision)과 재현율(recall)
 예측이 양성이 된 모든 경우에 대하여 올바르게 양성으로 예측한
결과의 정확도를 나타내는 지표가 적합율

2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
69/133

분류 모델의 평가
 불량 부품을 정상 제품으로 분류를 하면 안 되기 때문에 불량
부품의 검출에는 높은 적합율이 필요
 작은 비율이지만 정상 부품이 불량 부품에 섞여 있어도 어쩔 수
없다고 볼 수도 있음
 재현율이 아주 높지 않아도 문제에 따라 어느 정도 용인이 될
수도 있음
 실제로는 적합율과 재현율을 둘 다 높게 유지하는 것은 어렵기
때문에 한 쪽이 높아지도록 다음과 같은 방법을 이용하여 선택을
하도록 함
(1) 특정 클래스에 속해 있는 데이터에 큰 가중치를 적용한다. 예를
들면, 적합율을 높이기 위해서, 음성 클래스의 데이터에 가중치를
더 높게 적용할 수 있음
2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
70/133

분류 모델의 평가
(2) 하이퍼패러미터를 조정하여 검증 테이터 세트에 대하여 적합율
또는 재현율이 최대가 되도록 함
(3) 클래스의 확률을 알 수 있는(계산하는) 알고리즘(예 로지스틱 회귀
또는 결정목)을 이용하여 판정 임계값을 변경 함

정확도 전체 샘플 중 맞게 예측한 샘플 수의 비율. 높을수록 좋음. 일반


accuracy 적으로 학습에서 최적화 목적함수로 사용.
정밀도(적합율) 양성 클래스에 속한다고 출력한 샘플 중 실제로 양성 클래스에
Precision 속하는 샘플 수의 비율. 높을수록 좋음.
실제 양성 클래스에 속한 표본 중에 양성 클래스에 속한다고
재현율
출력한 표본의 수의 비율. 높을수록 좋음. TPR(true positive
recall
rate) 또는 민감도(sensitivity)라고도 함
실제 양성 클래스에 속하지 않는 표본 중에 양성 클래스에 속
위양성율 한다고 출력한 표본의 비율. 낮을수록 좋음 FPR(false positive
fall-out rate) 또는 1에서 위양성률의 값을 뺀 값을 특이도(specificity)
라고도 함

2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
71/133

분류 모델의 평가
 ROC 곡선 아래 면적(Area under the ROC curve(AUC))
 ROC는 receiver operating characteristics(수신자조작특성)으로,
ROC 특성은 분류 모델의 성능 평가에 많이 사용되는 방법
 ROC 곡선은 세로축에 재현율을 가로축에 위양성률을 표시

 다음 그림의 (b)의 그래프는 임계값이 0인 경우로 모두 양성으로


예측이 되어 TPR과 FPR이 모두 1인 경우
 (c)의 경우는 임계값이 1인 경우로 양성으로 예측된 경우가 없어
TPR과 FPR 모두 0인 경우
 ROC 곡선의 아래 면적(AUC)가 커지면 분류기의 성능이 좋은 것
이라고 할 수 있음

2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
72/133

분류 모델의 평가
 분류 알고리즘의 평가

2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
73/133

분류 모델의 평가

 AUC가 0.5 이상의 분류기는 랜덤 분류기보다 우수하고 0.5 미만


이면 분류 알고리즘에 문제가 있다고 생각할 수 있음
 완전한 분류 알고리즘은 AUC가 1이 됨
 일반적으로 분류 알고리즘 모델이 우수할수록 TPR은 1에 가까워
지고, FPR은 0에 가까운 (d)와 같은 형태가 됨

 혼동 행렬 예제

2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
74/133

분류 모델의 평가
 혼동 행렬 예제
confusion_matrix.ipynb

confusion_matrix.ipynb

2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
75/133

분류 모델의 평가
 혼동 행렬 예제

2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
76/133

분류 모델의 평가
 혼동 행렬 예제

2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
77/133

분류 모델의 평가
 혼동 행렬 예제

2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
78/133

결정 트리 및 랜덤포레스트
 Scikit-learn의 데이터를 이용한 결정 트리 수행 결과

2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
79/133

결정 트리 및 랜덤포레스트
 결정 트리(Decision tree) 알고리즘
 의사 결정을 지원하는 방법으로 분류하는 알고리즘으로 사용
 결정 트리 알고리즘은 데이터를 복수의 클래스로 분류
 규칙에 따라 데이터의 특징변수를 파악하여 분기 처리를 하여
분류
 분류 규칙을 추출하여 가시화할 수 있기 때문에 분류 결과를 쉽게
해석할 수 있다는 장점
 단점은, 과도학습을 할 가능성이 있다는 점

2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
80/133

결정 트리 및 랜덤포레스트
 분류 알고리즘(결정트리)
decision_tree.ipynb

2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
81/133

결정 트리 및 랜덤포레스트
 분류 알고리즘(결정트리)

2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
82/133

결정 트리 및 랜덤포레스트
 랜덤포레스트(Random forest)
 다수결을 이용하는 앙상블(Ansemble) 학습 알고리즘
 일반화 능력을 향상 시키기 위해서 결정 트리로부터 다수결에
의한 결정을 하는 분류 알고리즘

2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
83/133

결정 트리 및 랜덤포레스트
 랜덤포레스트(Random forest)
random_forest.ipynb

2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
84/133

결정 트리 및 랜덤포레스트
 Grid Search
 앞의 예제에서는 n_estimator 패러미터에 100을 지정했었지만,
최적의 패러미터를 찾기 위해서 여러 조건에 대하여 일일이 조건을
바꿔 가면 수행해야 함
 이 경우에 효율을 높이기 위해서 GridSearchCV 분류를 이용

 그리드서치 알고리즘 예제 수행 결과

2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
85/133

결정 트리 및 랜덤포레스트
 Grid Search 예제
grid_search.ipynb

2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
86/133

로지스틱 회귀
 Logistic regression
 회귀라는 이름이 붙어 있지만 분류에 많이 사용되는 알고리즘
 2개의 클래스로 분류하는 이진(2치, binary) 분류에 적용이 가능
 바이어스 패러미터와 n 개의 특징변수(feature, 속성) 패러미터에
가중치를 더 한 선형 회귀의 예측 모델

 로지스틱 회귀는 선형 회귀 예측 모델을 sigmoid함수로 바꾼 것

2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
87/133

로지스틱 회귀
 로지스틱 회귀의 예측 모델은 정답 레이블(y=1)로 분류될 확률을
출력하여 예측 모델의 부호에 따라 이산적인 결과(클래스)를
예측하는 것으로 발생확률을 예측하여 확률에 따라 2개의
클래스로 분류를 하는 것
 이면 예측 모델은 ≥0.5가 되어 클래스 1로 예측을 하고,
이면 예측 모델은 < 0.5가 되어 클래스 0으로 예측
 로지스틱 회귀에서 손실 함수는 정답 레이블이 y=1인 경우에는

 정답 레이블이 y=0인 경우에는

2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
88/133

로지스틱 회귀
 정답 레이블 y=0, y=1 은 서로 독립이기 때문에 오차는 y=0과
y=1의 손실함수의 합계
 훈련 데이터가 m 개 및 특징변수 수가 n 개일 경우에 로지스틱
회귀의 손실 함수

 로지스틱 회귀의 손실 함수를 cross entropy라고 함


 경사하강법을 적용하여 손실함수를 최소화하는 θ를 근사적으로
계산하는 관계
2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
89/133

로지스틱 회귀

 로지스틱 회귀의 과도학습은 L2 정칙화로 억제를 할 수 있고,


하이퍼패러미터 α를 조정하여 최적의 값을 계산

또는 로 바꾸면

 C를 크게 하면 정칙화가 약하게 되고, C가 작으면 학습 부족이 됨

2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
90/133

로지스틱 회귀
 일반적인 로지스틱 회귀는 2 클래스 분류만 가능한 이진
분류기이고, 클래스 3 이상의 다클래스 분류는 불가능

(a) 2 클래스 분류 (b) 다 클래스(3 클래스) 분류

 OVR(One vs Rest)) 방법을 이용하면 다클래스 분류가 가능


 2 클래스 분류를 반복적으로 이용하면 다클래스 분류가 가능

2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
91/133

로지스틱 회귀
 OVR 방법에 의한 다클래스 분류

2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
92/133

로지스틱 회귀
 Logistic regression에 의한 다클래스 분류 예제

(a) 훈련 데이터

(b) 테스트 데이터

2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
93/133

로지스틱 회귀
 Logistic regression에 의한 다클래스 분류 예제
logistic_regression.ipynb

2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
94/133

로지스틱 회귀
 Logistic regression에 의한 다클래스 분류 예제

2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
95/133

소프트맥스 회귀
 Softmax regression
 2 개의 클래스 이상의 다클래스를 분류할 수 있는 Multiple logistic
regression이 소프트맥스 회귀
 한 개의 클래스와 다른 클래스간의 확률을 계산하는 OVR과는
다르게 정답 레이블에 클래스의 개수 K만큼의 차원이 있는 벡터(K
차원 one hot vector, 정답 클래스 차원의 값만 1이고 나머지는
모두 0인 벡터)를 이용하여 확률을 계산하여 분류를 하는
알고리즘
 와 같은 One hot vector 인코딩을 이용해서 확률을
계산
 클래스의 개수(K)가 많아지면 계산량이 증가하지만 OVR에 비하여
정확하게 계산 가능

2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
96/133

소프트맥스 회귀
 Softmax regression
 소프트맥스 회귀의 예측 모델은 K 차원의 백터를 출력
 클래스 k의 확률 hk(x)와 k 번째의 클래스의 패러미터 벡터
를 이용하여 개의 클래스에 대하여 패러미터
벡터 θ(k)를 훈련하여 k 번째의 클래스의 확률 hk(x) 을 예측
 K 개의 클래스의 확률의 합계는 1이 됨

 K 번째의 클래스의 예측 모델 hk(x) 는 K 개의 작성된 클래스 마


다의 스코어 sk(x)를 소프트맥스 함수로 정규화한 식이 됨
 소프트맥스 함수는 시그모이드 함수를 K 개로 확장한 것
 K=2의 경우는 로지스틱 회귀의 시그모이드 함수가 됨

2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
97/133

소프트맥스 회귀
 Softmax regression

 소프트맥스 회귀의 손실함수는 Softmax loss entropy를 사용


K=2일 경우에 로지스틱 회귀의 손실함수와 같아지게 됨

 패러미터 벡터 θ(k 의 기울기는 경사하강법으로 계산

2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
98/133

소프트맥스 회귀
 Softmax regression 예제

훈련 데이터에
대한 분류 결과

테스트 데이터에
대한 분류 결과

2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
99/133

소프트맥스 회귀
 Softmax regression 예제
softmax_regression.ipynb

2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
100/133

소프트맥스 회귀
 Softmax regression 예제

2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
101/133

서포트벡터머신 분류
 Support vector machine classfication(SVC)
 서포트벡터머신은 분류 및 회귀에 많이 사용되는 지도학습
알고리즘
 분할선으로부터 최근접 데이터까지의 마진(데이터부터
분할선까지의거리의 제곱)의 합이 최대화되는 직선을 고려

2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
102/133

서포트벡터머신 분류
 Support vector machine classfication(SVC)
 서포트벡터머신은 학습 데이터의 노이즈에도 강하고 분류성능이
매우 높은 것이 특징
 다른 알고리즘과 비교하여 학습 데이터 수도 많이 필요하지 않음
 기본적으로 2 클래스 분류 알고리즘이지만 변형을 하여 다클래스
분류에도 사용 가능
 Scikit-learn을 이용한 예제에서 정답 레이블이 0과 1이 마진 위에
1점씩 있고, 점선의 마진 위의 데이터가 서포트 벡터
 선형 서포트 벡터 분류는 마진을 최대화하도록 결정 경계선를
계산하는 알고리즘
 마진을 최대화하는 기준으로 경계선을 결정하기 때문에 로지스틱
회귀의 예측 모델과는 다른 결정 경계를 갖음
2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
103/133

서포트벡터머신 분류
 Scikit-learn 데이터를 이용한 서포트벡터 머신 분류 예제

2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
104/133

서포트벡터머신 분류
 Scikit-learn 데이터를 이용한 서포트벡터 머신 분류 예제

SVM_classification.ipynb

2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
105/133

서포트벡터머신 분류
 Scikit-learn 데이터를 이용한 서포트벡터 머신 분류 예제

2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
106/133

서포트벡터머신 분류
 Scikit-learn 데이터를 이용한 서포트벡터 머신 분류 예제

2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
107/133

서포트벡터머신 하드마진/소프트마진 분류
 하드 마진/소프트 마진 SVM 분류
 특징변수를 n 개를 갖는 선형 모델은

 하이퍼패러미터의 특징변수를 xo=1이라고 하면 SVC의 예측 모델


은 n+1 차원의 패러미터의 벡터 로 n+1 차원의
특징변수 벡터 의 내적으로 다음과 같음

 이면 클래스 1로 예측을 하고, 이면 클래스 0으로


예측

2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
108/133

서포트벡터머신 하드마진/소프트마진 분류
 하드 마진/소프트 마진 SVM 분류
 SVC의 손실함수는 힌지(hinge) 손실함수와 L2 정칙화를 포함하여
다음과 같음

 하이퍼패러미터 관계는 로지스틱 회귀와 동일하고, C가


커지면 정칙화가 약해지고 작아지면 정칙화가 강해짐
 힌지 손실은 정답 레이블에서 y=1과 y=0에서 다른 함수가 됨
 두 경우는 의 절대값이 1 이상의 경우에는 오차는 0이 되고,
의 경우에는 오차가 발생하는 공통적인 특성
 C가 커지면 힌지 손실의 오차를 피하기 위해서 의 절대값이
1 이상이 되도록 제약 조건이 발생
2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
109/133

서포트벡터머신 하드마진/소프트마진 분류
 힌지(hinge) 손실 함수

2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
110/133

서포트벡터머신 하드마진/소프트마진 분류
 하드 마진 분류 알고리즘
 소프트벡터머신 분류에서 하드 마진 알고리즘은 잘못된 분류가
발생하지 않도록(오차를 허용하지 않도록) 하는 것을 의미
 손실 함수의 C가 매우 큰 경우로 힌지 손실이 정칙화에 비하여
커지게 됨
 힌지 손실이 큰 경우, 힌지 손실의 오차가 0이 되도록 의
영역에 제약이 발생하여 힌지 손실이 과
이됨
 손실함수는 가됨
 y(i)=1일 경우에는 이 되고 y(i)=0일 경우에 이 되는데,
제약조건 중에 오차가 발생하지 않도록 부등식의 끝이 마진의 식

2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
111/133

서포트벡터머신 하드마진/소프트마진 분류
 하드 마진 분류 알고리즘
 따라서 y(i)=1일 경우에는 이 되고 y(i)=0 일 경우에
이됨
 손실함수 J(θ)의 최소값 계산은 조건 포함 최소화 문제가 되어
Lagrange 미정승수법칙 (Lagrange Multifier=Lagrange relaxation)
문제가 되고, SVC의 예측 모델은

여기서 a(i)는 각 훈련 데이터의 패러미터가 되고, 마진 바깥쪽의


훈련 데이터에 대해서 a(i)=0이 되고 마진 위 또는 안쪽은 a(i)>0
이 됨.
또한 y(i)=1의 경우에 t(i)=1, y(i)=0의 경우에 t(i)=-1로 정의

2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
112/133

서포트벡터머신 하드마진/소프트마진 분류
 Scikit-learn의 데이터(와인) 이용 하드 마진 분류 예제

2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
113/133

서포트벡터머신 하드마진/소프트마진 분류
 Scikit-learn의 데이터(와인) 이용 하드 마진 분류 예제
SVC_hard_soft margin.ipynb

2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
114/133

서포트벡터머신 하드마진/소프트마진 분류
 Scikit-learn의 데이터(와인) 이용 하드 마진 분류 예제

2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
115/133

서포트벡터머신 하드마진/소프트마진 분류
 Scikit-learn의 데이터(와인) 이용 하드 마진 분류 예제

2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
116/133

서포트벡터머신 하드마진/소프트마진 분류
 Scikit-learn의 데이터(와인) 이용 소프트 마진 분류 예제
 소프트 마진 분류 알고리즘에서는 오류를 허용하기 때문에
하이퍼패러미터 C=1.0을 적용하였고 마진 내부에 오차로 들어가는
데이터가 있음
 소프트벡터 마진 알고리즘은 하이퍼패러미터의 지정이 가능하기
때문에 패러미터의 최적화가 가능하여 로지스틱 회귀와 비교하여
정확도가 높아지게 됨

2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
117/133

서포트벡터머신 하드마진/소프트마진 분류
 Scikit-learn의 데이터(와인) 이용 소프트 마진 분류 예제

2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
118/133

가우스커널 서포트벡터 분류
 Gauss kernel support vector classification (GKSVC)
 서포트벡터 머신의 선형 내적 계산 부분을 비선형 커널 함수인
가우스 함수로 바꾸면 비선형 결정 경계를 갖는 분류가 가능

 내적 는 각 훈련 데이터의 특징변수 벡터의 선형커널


 선형커널은 커널 함수의 하나로서 예측 모델 은 커널 함수
을 이용하여 다음의 식으로 일반화

2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
119/133

가우스커널 서포트벡터 분류
 Gauss kernel support vector classification (GKSVC)
 가우스 커널(Gauss kernel)은 훈련 데이터의 주위를 중심으로 한
가우스 분포로 특징변수 x와 x(i)의 유사도를 계산
 2개의 특징변수의 거리가 가까워지면 유사도가 높아져 1이 되고
멀어지면 0에 가깝게 됨
 정확도 패러미터 γ는 가우스 분포의 폭을 결정하고, γ 가 작아지면
분포가 넓어져 학습 부족이 발생하고 γ 가 커지면 과도학습이
발생하기 쉬워짐
 훈련 데이터 x(i) 가 결정 경계의 주변의 support vector이면 a(i)>0
이 되고, 아닐 경우에는 a(i)=0이 되어, hθ(x)는 support vector만의
선형 합이 됨

2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
120/133

가우스커널 서포트벡터 분류
 Gauss kernel support vector classification (GKSVC)
 대표적인 커널 함수
 가우스 커널 함수를 방사 기저 함수 (RBF: Radial Bias
Function)라고도 함
 선택 가능한 Kernel 함수에는 여러 가지가 있지만, 가우스
커널을 많이 사용

2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
121/133

가우스커널 서포트벡터 분류
 Gauss kernel support vector classification (GKSVC)
 커널 함수에 따른 결정 경계를 비교 예제
 (a)는 선형 커널

 (b)는 같은 훈련 데이터 개수의 경우에 대한 가우스 커널

2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
122/133

가우스커널 서포트벡터 분류
 Gauss kernel support vector classification (GKSVC)
 커널 함수에 따른 결정 경계를 비교 예제((a) 및 (b))
gauss_kernel_svc(Fig 3-75(a)(b)).ipynb

2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
123/133

가우스커널 서포트벡터 분류
 Gauss kernel support vector classification (GKSVC)
 커널 함수에 따른 결정 경계를 비교 예제
 (c)는 훈련 데이터의 개수가 (b)의 경우보다 증가하였을 경우에
가우스 커널의 결정 경계이다.

2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
124/133

가우스커널 서포트벡터 분류
 Gauss kernel support vector classification (GKSVC)
 커널 함수에 따른 결정 경계를 비교 예제((c))
gauss_kernel_svc(Fig 3-75(c)).ipynb

2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
125/133

가우스커널 서포트벡터 분류
 Gauss kernel support vector classification (GKSVC)
 커널 함수에 따른 결정 경계를 비교 예제((c))

2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
126/133

가우스커널 서포트벡터 분류
 Scikit-learn의 와인 데이터를 이용한 가우스 커널 서포트벡터
분류의 예제

2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
127/133

가우스커널 서포트벡터 분류
 Scikit-learn의 와인 데이터를 이용한 가우스 커널 서포트벡터
분류의 예제
Gauss_kernel_SVC.ipynb

2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
128/133

가우스커널 서포트벡터 분류
 Scikit-learn의 와인 데이터를 이용한 가우스 커널 서포트벡터
분류의 예제

2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
129/133

가우스커널 서포트벡터 분류
 Kernel trick
 커널 함수는 예측 모델의 특징변수(feature)을 나타내는 것
 커널의 도입으로 결정 경계를 비선형의 형태로 변형하는 것이 가능
 데이터의 특징 변수 벡터를 데이터 본래의 저차원 공간에서 더 큰
고차원으로 변환하면 그 고차원 공간에서는 데이터를 선형으로
분리 가능
 원래의 저차원 공간으로 역사상된 결과에서는 비선형 경계면으로
분류된 것처럼 보이게 됨
 코스트 함수를 선형적으로 최적화하기 위해 어떤 함수를 사용해서
고차원 공간으로 변환하는 것이 kernel trick
 예를 들어 2 차원에서는 선형으로 분리되지 않지만 비선형으로는
분리 가능한 데이터를 3 차원으로 변환하면 선형으로 분리 가능
2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
130/133

가우스커널 서포트벡터 분류
 Kernel trick 예제

2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
131/133

가우스커널 서포트벡터 분류
 Kernel trick 예제
kernel_trick.ipynb

2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
132/133

가우스커널 서포트벡터 분류
 Kernel trick 예제

2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
133/133

가우스커널 서포트벡터 분류
 Kernel trick 예제

2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽

You might also like