본문 바로가기

AI

(7)
Ch3. SVM(Support Vector Machine) binary classification 에서 두 class를 분리하는 최적의 경계를 찾는 과정을 SVM이라 한다   위 그림처럼 $ wx-b\geq +1 $ 혹은 $ wx-b\leq -1 $ 로 데이터를 분류 하는 것이 목표이다  SVM에 대해 알아볼 것은 다음과 같다Margin 계산 방법Soft Margin & Hard MarginKernel trick SVM의 baseline은 $ wx-b=0 $ 의 해집합이다따라서, 법선벡터$ (v) $는 $ w $의 row space가 된다$$ v=(w_1, ..., w_n)=w $$ 원점을 지나는 법선벡터를 직선으로 나타내면 $ y=tv $ 이다 $ wx-b=0 $ 과 $ y=tv $ 의 교점을 $ t_1v $ 라고 하며 다음의 식을 만족시킨다$$ wt_1v-b..
Ch3. Overfitting Prevent Method 머신러닝에서 모델 학습 중, 학습 환경에 따라서 Underfitting 과 Overfitting이 발생할 수 있다   Underfitting이 발생할 경우 train set에서 부터 정확도가 떨어지며,Overfitting이 발생할 경우 train set을 과하게 학습하여train set의 정확도는 매우 높게 나오지만 validation set의 정확도는 현저히 떨어지는 현상이 발생한다  model 학습의 최종 목표는 validation set에 대한 loss가 가장 적도록 학습을 해야한다!   Hold-outdataset을 train, validation, test로 분리하는 것을 Hold-out이라 한다overfitting과 underfitting을 확인하려면 validation set이 필요하기에, ..
Ch3. Logistic Regression & Sigmoid 로지스틱 회귀(Logistic Regression)란?=> Adaline model에서 Activation function을 sigmoid 함수로 쓴 회귀 모델    sigmoid 함수가 어떻게 나왔는지 알아보자Odds(승산) : 실패 비율 대비 성공 비율성공확률을 $ p $라 하면, $$ Odds:=\frac{p}{1-p} $$ Logit : logistic + probit$$ Logit(L):=ln(Odds)=ln \frac{p}{1-p} $$ 위의 Logit에 대해 생각해보자어떤 input $ x $가 주어지면 그에 대한 확률 $ p $는 고정적이다p가 최대가 되는 것이 목적이므로 Logit에 따른 p의 함수로 변환해야 한다 $$ L= ln \frac{p}{1-p} $$$$ e^L=\frac{p}{..
Ch3. Scikit-learn Scikit-learn은 ML 코딩을 할 때 유용하게 쓸 수 있는 라이브러리이다Scikit-learn에서 제공하는 대표적인 기능들은 다음과 같다 useful dataset loadfrom sklearn import datasetsimport numpy as npiris = datasets.load_iris()X = iris.data[:, [2, 3]]y = iris.targetprint('Class labels:', np.unique(y))  train, test splitfrom sklearn.model_selection import train_test_splitX_train, X_test, y_train, y_test = train_test_split( X, y, test_size=0.3, ra..
Ch2. Adaline, 로스와 경사하강법(Adaline, Loss and Gradient Descent) Perceptron과 함께 언급되는 내용이 Adaline이다Perceptron은 input의 합을 threshold function을 통해 분류하고 error를 0으로 만드는 것에 집중했다Adaline은 threshold function을 거치기 전에, error를 계산하고 error를 최소화 하는 것에 집중한다 비슷하면서도 다른 두 개념은 활성화 함수(Activation function)를 무엇으로 사용하느냐에 차이가 있다    활성화 함수는 그 기능을 이름에서 유추할 수 있다입력층에서 모아진 신호들을 출력층으로 보낼 때 거쳐가는 함수이다 Adaline에서는 Activation function을 $ y=x $ 즉, 입력층에서 처리된 값을 그대로 사용하고 있다Adaline이 등장할 당시에는 Activat..
Ch2. 퍼셉트론(Perceptron) input에 대해 class0 혹은 class1을 분류하기 위해서는 다음을 생각할 수 있다$$ if\;\sigma(z)\;  $ z=w^Tx+b $로, $ z $는 $ x $의 선형 결합으로 나타난다따라서 perceptron의 decision boundary는 직선 형태가 된다  binary classification 을 하는데 'perceptron' 이라는 개념이 등장했다 수식으로 표현하면$$ \hat{y}=\phi(w^Tx+b),\;(\phi:Threshold\;function) $$$ \hat{y} $ 은 예측된 output 이라는 뜻이며, 실제 output은 $ y $로 표기한다 perceptron에서 weight & bias update는 다음과 같이 이루어진다$$ w=w+\eta x(y-\ha..
Ch1. ML 도입 - ML의 종류와 시스템 Supervised learning (지도 학습)Labeled dataDirect feedbackPredict outcome/futureClassification & RegressionClassificationRegression  Unsupervised learning (비지도 학습)No labels/targetsNo feedbackFind hidden structure in dataClustering  Reinforcement learning (강화 학습)Decision processReward systemLearn series of actions    기본적인 pandas frame을 생각해 보면 세로축에는 index, 가로축에는 column name 을 나타낸다    ML 시스템 구축을 위해선 보통..