본문 바로가기
728x90
반응형

AI/Experiment10

09. 나이브베이즈 분류 ( Naive Bayse classification ) 나이브 베이즈 분류? 기본적으로 각 속성값 확률을 기반으로 범주에 속한 인스턴스를 확률로 결정한다. '나이브'는 다른 속성과 독립적이라는 의미로, 속성값은 다른 속성값과 관계가 없음을 의미한다. 베이즈 정리 매개변수 x,y가 있을 때, 분류1에 속할 확률이 p1(x,y) 이고, 분류 2 에 속할 확률이 p2(x,y)이면 * p1(x,y) > p2(x,y) 이면, 분류1 * p1(x,y) 2020. 5. 21.
08. 서포트 벡터 머신 ( support vector machine ) 서포트 벡터 머신( Support Vector Machine ) 서포트 벡터 머신은 분류 과제에 사용할 수 있는 강력한 머신러닝 지도학습 모델이다. 결정 경계(Decision Boundary), 기준 선을 정의하여 어느 쪽에 속하는지 확인하여 분류를 하는 것이다. 최적의 결정 경계(Decision Boundary) 다른 그림으로 얼마나 많은 선을 그을 수 있을지 살펴보자면? 가운데 색칠된 부분에서 기울기를 만족한다면, 모든 선은 결정 경계가 될 수 있다. 따라서 똑같은 군집이 있더라도 다음과 같이 결정 경계를 설정할 수 있다. 각 그룹의 선을 살펴보았을 때, 그룹C는 파란 점과 너무 가까워서 아슬아슬해보인다. 그렇다면 가장 안정적이어 보이는 결정 경계는 ? 아마 F일 것이다. 두 분류에서 거리가 가장 멀.. 2020. 5. 19.
07. 로지스틱 회귀( Logistic Regression ) 로지스틱 회귀란? 로지스틱 회귀는 지도 학습의 분류 문제에 사용된다. 데이터가 집단 각각에 속하는 확률을 계산하여 데이터를 분류해낸다. 선형함수가 아닌 로짓함수를 사용하여 진행한다. 따라서 회귀분석의 모형은 목표집단에 속할 확률과 그렇지 않을 확률의 비율에 자연로그를 취한 값을 출력한다. 이를 그려보면 비선형 S자의 형태를 띈다. import matplotlib.pyplot as plt import numpy as np # f(x) = 1 / ( 1 + e ** (-x))를 그려보자 x = np.arange(-10,10,0.1) y = 1 / ( 1 + np.exp(-x)) plt.scatter(x,y) 확률 : 발생할 확률 / 전체 오즈 : 발생할 확률 / 발생하지 않을 확률 ( 0 ~ 무한대 ) 로짓.. 2020. 5. 18.
06. 선형 회귀의 한계점 다음 예제를 통해 선형 회귀에 어떤 한계가 있는지 살펴보자. x_data가 1, 2, 5, 8, 10이다. y값은 0.5 이상이면 1(pass), 0.5 미만이면 0(fail)이라고 하자. # module import import tensorflow as tf # 학습 data 생성 x_data = [1,2,5,8,10] y_data = [0,0,0,1,1] x = tf.placeholder(dtype=tf.float32) y = tf.placeholder(dtype=tf.float32) W = tf.Variable(tf.random_normal([1]), name = "Weight") b = tf.Variable(tf.random_normal([1]), name = "bias") H = W * x + .. 2020. 5. 17.
05. 릿지 회귀, 라쏘 회귀 ( Ridge, Lasso ) 단순선형회귀와의 비교 가장 처음 공부한 선형회귀는 MSE를 최소화하는 기울기와 절편을 찾았다. 릿지와 라쏘는 오차값에 규제항 또는 벌점항을 추가하여 좀 더 단순화된 모델, 일반화된 모델을 제공한다. 이렇게 단순화하거나 일반화된 모델에서는 훈련셋에 덜 과적합 되기 때문에 테스트셋에 더 적합한 모델을 만들 수 있다. 릿지는 w의 제곱항(L2 규제)을, 라쏘는 w의 절대값(L1 규제)를 추가한다. α는 규제의 강도를 의미한다. 아래의 코드로 MSE, L2, L1이 다른 부분을 살펴보자. # module import %pylab inline import numpy as np import matplotlib.pyplot as plt # plot의 크기 설정 fig = plt.figure(figsize=[12,6].. 2020. 5. 15.
04. 다항 회귀( Polynomial Regression ) 다항 회귀란? 비선형 데이터를 학습하는데 선형 모델을 사용하는데, 각 특성의 거듭제곱을 새로운 특성으로 추가하고, 이 확장된 특성을 포함한 데이터셋에 선형 모델을 훈련시키는 것이다. 예시로 1차 선형 회귀와 다항 회귀가 어떻게 다른지 살펴보자. 계절마다의 에어컨 가격 트렌드를 살펴보자. 파란색의 선은 에어컨 가격의 절대적 트렌드이며, 실제 가격은 이 트렌드를 따른다. x가 1일 때 여름 -> 가장 높은 가격에 팔림 x가 3일 때 겨울 -> 가장 낮은 가격에 팔림 %matplotlib inline import numpy as np import pylab as pl # 사인 곡선 def data(size): x = np.linspace(0, 4.5, size) y = 2 * np.sin(x * 1.5) re.. 2020. 5. 14.
03. 다중선형회귀( Multiple Linear Regression ) 선형회귀란 ? 선형 회귀(Linear Regression)는 회귀 문제를 예측할 때 사용하는 알고리즘 중 하나이다. '독립 변수가 커질 때 종속 변수가 크거나 작게 변하는' 관계를 모델링 하는 것이다. 선형회귀는 보통 하나 이상의 독립 변수를 사용하여 모델링한다. 이 때, 독립 변수가 둘 이상이면 '다중선형회귀( multiple linear regression)'라고 한다. 다중선형회귀란? 행렬식으로 나타내보면 다음과 같다. tensorflow를 이용할 때 placeholder 생성 시 shape을 잘 맞춰주어야 한다. 그래야 matmul 함수를 사용했을 때 식이 성립되기 때문이다. 예를 들어 위의 식은 [ 3, 1 ] * [ 1 * 3 ] = [ 1 * 1 ] 이므로 성립 가능하다. 이 과정을 수식으로.. 2020. 5. 13.
02. 단순선형회귀( Simple Linear Regression ) 선형회귀란 ? 선형 회귀(Linear Regression)는 회귀 문제를 예측할 때 사용하는 알고리즘 중 하나이다. '독립 변수가 커질 때 종속 변수가 크거나 작게 변하는' 관계를 모델링 하는 것이다. 선형회귀는 보통 하나 이상의 독립 변수를 사용하여 모델링한다. 이 때, 독립 변수가 하나면 '단순선형회귀(simple linear regression)'라고 한다. 단순선형회귀란? 이 식에서 모델이 기울기(w1,w)와 절편(w0,b)을 바꿔가면서 최적의 기울기, 절편을 찾는다. 이 때, '최적이 되는 기준'은 평균제곱오차(MSE)의 값이 최소가 될 때이다. code 1 ) sklearn module from sklearn.linear_model import LinearRegression X = [[10.0.. 2020. 5. 11.
01. 머신러닝 모델 평가 방법 머신러닝은 여러 개의 모델로 학습을 할 수 있습니다. 각각의 알고리즘이 특성, 차이가 있기 때문에 모델을 평가할 지표가 필요합니다. 지도 학습의 평가 1. 분류 문제 혼동 행렬(confusion matrix), 정확도(accuracy), 정밀도(precision), 재현율(recall), F값(F1-score), 곡선아래면적(AUC) 2. 회귀문제 평균제곱오차(MSE), 결정계수(coefficientg of determination) 분류 문제의 평가 방법 '미국 위스콘신 대학'의 '유방암 진단 데이터세트'를 로지스틱 회귀 모델로 머신러닝한 코드로 여러 평가 방법을 알아보겠습니다. code # 모듈 및 데이터 로드 from sklearn.datasets import load_breast_cancer fr.. 2020. 5. 10.
00. 머신러닝 개요 머신러닝의 유형 입력 데이터가 무엇인지에 따라 크게 세 가지의 유형으로 나뉜다. 1. 지도학습 2. 비지도학습 3. 강화학습 지도 학습( supervised learning ) 지도학습 : 문제의 정답을 컴퓨터에 입력해 모델을 학습시키는 것 독립변수와 종속변수를 모두 학습시킨 뒤, 새로운 독립변수 데이터가 들어왔을 때의 결과를 출력한다. 지도학습은 크게 분류(classification)와 회귀(regression)가 있다. 예를 들어보자. 분류 : 키, 체중의 값을 학습시켜 성별을 알아낸다. 회귀 : 성별, 키의 값을 학습시켜 신발사이즈를 알아낸다. 이 때, 성별은 남/여 라는 두 가지 값이고 신발사이즈는 연속적인 값이다. 비지도학습( unsupervised learning ) 비지도 학습은 정답을 나타.. 2020. 5. 10.
728x90
반응형