Professional Documents
Culture Documents
지도학습 알고리즘
지도학습 알고리즘
지도학습 및 회귀 알고리즘
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)으로 표현을 하면
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를 찾는 것
선형 회귀
단순 선형 회귀
단순 회귀는 1개의 변수로 구성
어떤 데이터 집합이 1개의 속성(특징변수)을 갖는 것을 의미
(예) 사람을 이름, 나이, 주소 등 다양한 속성으로 구분을 할 수
있는데 이 가운데, 예를 들어, 1개의 속성인 나이만으로 모델을
만드는 것
구한 새로운 직선은 레이블이 없는 새로운 데이터에 대한 목적
변수(특징변수)의 값을 예측하는데 사용
예제에서 기호(+)는 훈련 데이터를 나타내고 직선은 선형 회귀
결과, 즉 훈련(학습)이 된 모델의 결과를 나타냄
2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
21/133
선형 회귀
단순 선형 회귀 예제
linear_regression.ipynb
2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
22/133
선형 회귀
노이즈가 있는 단순 선형 회귀 예제
linear regression with noise.ipynb
2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
23/133
경사하강법을 이용한 선형 회귀
경사하강법을 이용한 단순 선형 회귀 예제
선형 회귀 모델
손실 함수
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
결정 계수
2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
35/133
학습부족과 과도학습
학습율(η)의 대소에 따른 학습 부족과 과도학습 문제
2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
36/133
2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
37/133
2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
38/133
2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
39/133
2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
40/133
2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
41/133
2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
42/133
2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
43/133
2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
44/133
2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
45/133
2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
46/133
2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
47/133
2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
48/133
2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
49/133
2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
50/133
서포트벡터 회귀
Support Vector Machine(SVM) Regression
서포트벡터머신 원리는 회귀에도 사용을 하고 분류에도 사용
마진 최대화라는 원리를 이용
▲와 ●으로 구분되는 두 종류(클래스)의 데이터를 두개의
그룹으로 분류하는 마진의 최대화의 예
서포트벡터 회귀
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차원 이상의 문제에서 사용하는 것이 커널 회귀
커널 회귀는 패러미터를 갖지 않는 방법으로 학습해야만 하는
패러미터가 없는 알고리즘으로 데이터 자체를 기반으로 작성
가장 단순한 형태로 다음과 같은 모델을 찾는 것
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 클래스
가우스커널 서포트벡터 분류 비선형 제한 없음(다클래스)
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)
클래스로 분류가 된 데이터 가운데, 올바르게 분류된 데이터의
비율을 의미
분류 모델의 평가
정상 부품 검출에서 위양성은, 불량 부품을 정상 부품으로 잘 못
판단하여 제품 조립에 사용하게 되기 때문에 문제가 될 수 있음
위음성(FN)은 모델이 정상 부품을 불량 부품으로 판단을 하여
폐기를 하는 경우가 됨
적합율(precision)과 재현율(recall)
모델의 성능 평가에 제일 많이 사용되는 2 개의 척도는 적합율
(precision)과 재현율(recall)
예측이 양성이 된 모든 경우에 대하여 올바르게 양성으로 예측한
결과의 정확도를 나타내는 지표가 적합율
2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
69/133
분류 모델의 평가
불량 부품을 정상 제품으로 분류를 하면 안 되기 때문에 불량
부품의 검출에는 높은 적합율이 필요
작은 비율이지만 정상 부품이 불량 부품에 섞여 있어도 어쩔 수
없다고 볼 수도 있음
재현율이 아주 높지 않아도 문제에 따라 어느 정도 용인이 될
수도 있음
실제로는 적합율과 재현율을 둘 다 높게 유지하는 것은 어렵기
때문에 한 쪽이 높아지도록 다음과 같은 방법을 이용하여 선택을
하도록 함
(1) 특정 클래스에 속해 있는 데이터에 큰 가중치를 적용한다. 예를
들면, 적합율을 높이기 위해서, 음성 클래스의 데이터에 가중치를
더 높게 적용할 수 있음
2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
70/133
분류 모델의 평가
(2) 하이퍼패러미터를 조정하여 검증 테이터 세트에 대하여 적합율
또는 재현율이 최대가 되도록 함
(3) 클래스의 확률을 알 수 있는(계산하는) 알고리즘(예 로지스틱 회귀
또는 결정목)을 이용하여 판정 임계값을 변경 함
2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
71/133
분류 모델의 평가
ROC 곡선 아래 면적(Area under the ROC curve(AUC))
ROC는 receiver operating characteristics(수신자조작특성)으로,
ROC 특성은 분류 모델의 성능 평가에 많이 사용되는 방법
ROC 곡선은 세로축에 재현율을 가로축에 위양성률을 표시
2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
72/133
분류 모델의 평가
분류 알고리즘의 평가
2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
73/133
분류 모델의 평가
혼동 행렬 예제
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, 속성) 패러미터에
가중치를 더 한 선형 회귀의 예측 모델
2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
87/133
로지스틱 회귀
로지스틱 회귀의 예측 모델은 정답 레이블(y=1)로 분류될 확률을
출력하여 예측 모델의 부호에 따라 이산적인 결과(클래스)를
예측하는 것으로 발생확률을 예측하여 확률에 따라 2개의
클래스로 분류를 하는 것
이면 예측 모델은 ≥0.5가 되어 클래스 1로 예측을 하고,
이면 예측 모델은 < 0.5가 되어 클래스 0으로 예측
로지스틱 회귀에서 손실 함수는 정답 레이블이 y=1인 경우에는
2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
88/133
로지스틱 회귀
정답 레이블 y=0, y=1 은 서로 독립이기 때문에 오차는 y=0과
y=1의 손실함수의 합계
훈련 데이터가 m 개 및 특징변수 수가 n 개일 경우에 로지스틱
회귀의 손실 함수
로지스틱 회귀
또는 로 바꾸면
2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
90/133
로지스틱 회귀
일반적인 로지스틱 회귀는 2 클래스 분류만 가능한 이진
분류기이고, 클래스 3 이상의 다클래스 분류는 불가능
2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
91/133
로지스틱 회귀
OVR 방법에 의한 다클래스 분류
2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
92/133
로지스틱 회귀
Logistic regression에 의한 다클래스 분류 예제
(a) 훈련 데이터
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이 됨
2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
97/133
소프트맥스 회귀
Softmax regression
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 개를 갖는 선형 모델은
2022-1 기계공학과기계학습(건설기계와기계학습) 이 대엽
108/133
서포트벡터머신 하드마진/소프트마진 분류
하드 마진/소프트 마진 SVM 분류
SVC의 손실함수는 힌지(hinge) 손실함수와 L2 정칙화를 포함하여
다음과 같음
서포트벡터머신 하드마진/소프트마진 분류
힌지(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의 예측 모델은
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)는 선형 커널
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 기계공학과기계학습(건설기계와기계학습) 이 대엽