Data scientist/Machine Learning 15

신경망 모형 + Python_Code

◎ Perceptron 하나의 뉴런 입력 데이터 혹은 다른 레이어의 출력물을 받아 결과값을 내는 구조 Input, weights, activation function (활성함수)로 구성 ※ Activation function(활성함수) 특징 : 연속, 비선형, 단조증가, bounded, 점근성의 특성 ※ Activation function(활성함수)의 필요성 : 은닉 layer를 의미 있게 쌓아주는 역할, 선형의 layer만 쌓인다면, 결국 하나의 선형식이 된다. 출력값의 range를 결정 ※ Input layer(입력층) : 입력 데이터를 의미 ※ Hidden layer : 입력 데이터 혹은 또는 다른 Hidden layer의 출력 값, 위의 입력값을 받는 perceptron들의 집합 ※ Output ..

의사결정나무 + Python_Code

◎ 수학적 개념 ○ 엔트로피 (Entropy) : 분류가 되어 있지 않으면 엔트로피는 높은 값을 가지며 분류가 잘 되어있으면 엔트로피 값은 낮다. ○ Information Gain : Entropy(before) - Entropy(after) Decision Tree의 특정 node 이전과 이후의 Entropy 차이 ○ Classification Tree ○ Regression Tree ◎ 의사결정나무 변수들로 기준을 만들고 이것을 통하여 샘플을 분류하고 분류된 집단의 성질을 통하여 추정하는 모형 장점 : 해석력이 높음, 직관적, 범용성 단점 : 높은 변동성, 샘플에 민감할 수 있다. ※ 의사결정나무 용어 ⓐ Node - 분류의 기준이 되는 변수가 위치. 이것을 기준으로 샘플을 나눔. - Parent n..

SVM + Python_Code

◎ Support Vector Machine(SVM) ◆ 종속 변수 데이터 형태에 따라 둘로 나뉜다. ◇ 범주형 변수 : Support vector classifier ◇ 연속형 변수 : Support vector regression (SVR) ◆ SVM 계산 ◆ SVM with Kernel - 선형 관계가 아닌 경우에 사용 - 비선형 구조의 데이터를 fitting할 때, Kernel을 사용할 필요가 있음 - 차원이 높아짐에 따라 추정해야 하는 모수의 개수가 많아짐에 따라 Test error가 높아지는 현상 발생 ◆ One-Class SVM - 종속변수 정보가 없는 자료를 요약하는 데, SVM을 사용 ◆ SVR Support vector machine 실습¶ 1. 데이터 불러오기, 및 SVM 적합¶ In..

LDA + Python_Code

◎ 수학적 개념 이해 ◎ Linear Discriminant Analysis(LDA) ※ LDA 결과 얻게 되는 decision boundary의 특징 : 평균의 차이는 최대화, 두 분포의 각각의 분산은 최소화 ◎ LDA의 심화적 이해 LDA decision boundary는 분산대비 평균의 차이를 극대화 하는 boundary 장점1 : Naive bayes 모델과 달리, 설명변수간의 공분산 구조를 반영 장점2 : 가정이 위반되더라도 비교적 robust 단점1 : 가장 작은 그룹의 샘플 수가 설명변수의 개수보다 많아야 함 단점2 : 정규분포 가정에 크게 벗어나는 경우 잘 설명하지 못함 단점3 : y범주 사이에 공분산 구조가 다른 경우를 반영하지 못함 Linear Discriminant Analysis 실..

K-NN + Python_Code

◎ K-Nearest Neighbors K-최근접 이웃(K-Nearest Neighbor, KNN)은 지도 학습 알고리즘 중 하나입니다. 데이터가 주어지면 그 주변(이웃)의 데이터를 살펴본 뒤 더 많은 데이터가 포함되어 있는 범주로 분류하는 방식입니다. ◎ 수학적 개념 이해 ⓐ Cross-validation : 과적합, sample loss를 해결하기 위해 사용 - k-fold cross validation ※ Test error : 데이터에 따라 최적의 k가 존재 k-Nearest Neighborhood Algorithm 실습¶ 1. 데이터, 모듈 불러오기 및 kNN 피팅 방법¶ 함수 불러오기 In [1]: from sklearn import neighbors, datasets In [2]: impor..

Naive Bayes + Python_Code

◎ 수학적 개념 이해 ※ 조건부 확률 ※ 베이즈 정리 ◎ Naive Bayes Classifier 설명변수 간의 독립을 가정 설명변수와 반응변수를 분리하여 생각 ※ 위의 경우 Yes와 No를 비교하여 큰 경우의 수를 선택 Naive Bayes 실습¶ 1. Gaussian Naive Bayes¶ 데이터, 모듈 불러오기 In [1]: from sklearn import datasets from sklearn.naive_bayes import GaussianNB In [2]: import pandas as pd In [3]: iris = datasets.load_iris() df_X=pd.DataFrame(iris.data) df_Y=pd.DataFrame(iris.target) In [4]: df_X.hea..

PCA + Python_Code

◎ 차원의 저주 차원이 커질수록 한정된 자료는 커진 차원의 패턴을 잘 설명하지 못한다. 차원이 증가함에 따라 model complexity가 기하급수적으로 높아진다. 주성분분석(PCA)은 서로 상관관계를 갖는 많은 변수를 상관관계가 없는 소수의 변수로 변환하는 차원축소 기법 ◎ 공분산 행렬(Covariance matrix)의 정의 공분산 행렬은 일종의 행렬로써, 데이터의 구조를 설명해주며, 특히 특징 쌍(feature pairs)들의 변동이 얼마나 닮았는가(다른 말로는 얼마만큼이나 함께 변하는가)를 행렬에 나타내고 있다. ◎ Principal Components 차원을 줄이면서 정보의 손실을 최소화하는 방법 변환에 사용하는 소수의 변수를 주성분(Principal component) 또는 성분(compon..