반응형

여러가지공부 216

정보이득이란? 지니불순도, 엔트로피, 분류오차 예제 풀이, 파이썬 코드 풀이(Information Gain, Gini Impurity, Entrophy, Classification Error)#2

목차 엔트로피를 사용해서 정보이득 풀이 및 파이썬 검증 앞서 포스트에서 정보이득(Information Gain)과 지니 불순도(Gini Impurity)를 사용해서 정보 이득을 구하는 방법에 대해 알아보았습니다(https://scribblinganything.tistory.com/719). 이번 포스트는 엔트로피(Entrophy)와 분류오차(Classification Error)를 사용해서 정보이득을 구하는 방법에 대해 알아보겠습니다. 우선 엔트로피 입니다. 정보 이론에서는 엔트로피를 확률 분포의 함수로 정의합니다. 엔트로피는 주어진 확률 분포에서 발생할 수 있는 모든 사건의 가능성을 고려하여 평균적으로 필요한 정보의 양을 측정합니다. 불확실성이 높을수록 엔트로피는 큰 값을 가지며, 불확실성이 낮을수록 ..

정보이득이란? 지니불순도, 엔트로피, 분류오차 예제 풀이, 파이썬 코드 풀이(Information Gain, Gini Impurity, Entrophy, Classification Error)#1

정보이득이란(Information Gain)? 정보 이득(Information Gain)은 정보 이론과 머신 러닝에서 사용되는 개념으로, 주어진 속성이나 특성을 기준으로 데이터를 분할할 때 얻을 수 있는 정보의 양을 측정하는 지표입니다. 정보 이득은 데이터 분할 전후의 불확실성 감소량을 측정하여 해당 속성이나 특성이 분류 작업에 얼마나 유용한지를 평가하는 데 사용됩니다. 정보 이득은 지니불순도, 엔트로피, 분류오차(Gini Impurity, Entrophy, Classification Error)라고 불리는 개념을 기반으로 계산됩니다. 엔트로피는 주어진 데이터 집합의 혼잡도나 불확실성을 나타내는 지표로, 값이 작을수록 데이터가 분류되어 정돈되어 있다는 의미를 가지고 있습니다. 따라서 정보 이득은 주어진 ..

공분산 행렬이란? 예제로 값 구해보기(Covariance Matrix), 파이썬 코드

목차 공분산 행렬(Covariance Matrix)이란? 공분산 행렬이란 아래와 같이 수식(Equation)을 정의합니다. 행렬로 표기를 하고 시그마(Σ)로 표기합니다. 시그마(Σ)는 이산 적분식과 다르니 확실히 구분해서 생각해야 합니다. 하나의 문자로 사용됩니다. 공분산 행렬은 저의 경우 기계학습의 PCA(Principal Component Analysis) 계산에서 사용되어 공부를 하게 되었습니다. 그 외에도 다양한 분야에서 공분산 수식으로 처리하는 경우들이 있습니다. 그림1과 같이 데이터셋(Dataset)을 통해 공분산을 만드는 방법에 대해 생각해보겠습니다. 데이터셋의 n행은 샘플들의 개수로 볼수 있고 d는 차원 값 또는 Feature라고 부르는 개수 입니다. 예를 들면 학생 4명에 대한 키와 몸무..

[머신러닝] K mean clustering이란? 예제로 이해하기(클러스터링)

목차 K mean clustering이란? 위 그림1과 같이 무게 별로 측정한 샘플이 12개가 있다고 생각해 보겠습니다. 이를 3개의 Cluster로 나눈다고 생각하면 우리는 인직하는 그대로 쉽게 3개로 나눌수 있을 것입니다. 하지만 컴퓨터 프로그램이 위 분류를 진행하려면 어떻게 해야할 까요? Clustering 분류 방법 중 하나가 K mean Clustering입니다. 이번 포스터에서는 K mean Clustering에 대해 알아보겠습니다. K는 Cluster의 수를 의미합니다. 간단하게 각 클러스터의 평균으로 분류하겠다는 의미입니다. K mean clustering 예제로 알고리즘 만들기 1. 그림1을 분류할 덩어리인 Cluster의 수 k 값을 결정합니다. k 값 결정은 포스트 뒤쪽에서 설명 드리..

[머신러닝]SVM(Support Vector Machines)이란? 예제와 수식풀이

목차 SVM(Support Vector Machines)이란? SVM이란 간단하게 Dicision Boundary를 만들어주는 것을 의미 합니다. Margin Maximal Margin Classifier Training Data와 Boundary 사이 가장 짧은 거리를 Margin이라고 합니다. 위 그림에서 파란색 화살표를 의미 합니다. 양쪽의 파란색 화살표의 길이가 동일할 때 마진(Margin)의 크기가 가장 큽니다. 이를 Maximal Margin Classifier라고 합니다. 녹색선은 아래와 같이 수식으로 표현될 수 있습니다. 결국 두 벡터의 내적(Dot Product)식이 됩니다. W벡터에 정사영되는 크기가 C로 일정한 x 벡터는 녹색 점선을 가리키는 벡터가 됩니다. 최종적으로 그림3의 노란색..

[머신러닝]Correlation이란? Covariance 차이, 수식, 사용 목적(피어슨 상관관계)

목차 피어슨 상관관계(Pearson's Correlation)이란? 수식(Equation) 앞서 포스트에서 공분산(Covariance)에 대해 설명하였습니다(https://scribblinganything.tistory.com/714). 공분산의 특성은 아래와 같았습니다. 1. 공분산을 통해서 Postive, Negative, No trend의 관계를 확인할 수 있다. 2. 공분산의 결과 값 Cov[X,Y]의 크기를 통해서 공분산 정도가 크다라고 판단할 수는 없다. 3. 공분산 자체의 의미는 중요하지 않고 Correlation을 계산하기 위한 단계로 사용된다. 위 특성 처럼 Covariance와 두 데이터 간의 관계를 해석하는데 어려움이 있어서 Correlation을 사용합니다. Correlation의 ..

[머신러닝] 공분산(Covariance)란? 특징 및 사용 목적

목차 [머신러닝] Covariance란? 그림1과 같이 한반에 학생에 대한 몸무게에 대한 샘플 값들을 위와 같이 가져왔다고 가정하겠습니다. 이때 평균을 x에 바로 표기된 점이라고 하면 샘플의 분산(Variance)는 아래와 같이 구할 수 있습니다. 분산이란 결국 평균 값에서 어느정도 벗어났는지를 계산하는 것입니다. 샘플의 분산 수식이 위와 같이 나오는 이유는 아래 링크에 자세하게 설명하였으니 참조하시길 바랍니다(https://scribblinganything.tistory.com/687). 이번에는 동일 학생으로 부터 키를 측정했다고 생각해보겠습니다. 이때 몸무게와 키의 측정 값으로 부터 유의미한 분석값이 있지 않을까 하는 고민에서 발생한 개념이 공분산(Covariance)입니다. 공분산은 수식1과 같이..

[머신러닝] 랜덤포레스트란? 쉬운예제로 이해하기(Random Forest, Bagging, Bootstrap)

목차 랜덤포레스트(Random Forest)란? Random Forest 는 Forest의 의미가 주듯이 트리를 모은 숲을 의미 합니다. 트리의 의미에 대해 알고 싶다면 아래 블로그 글부터 순차적으로 확인하시길 바랍니다(https://scribblinganything.tistory.com/709). 랜덤 포레스트를 사용하는 목적은 트리의 특성에 있습니다. 트리는 Training Data에서 높은 정확도(Accuracy)를 가지지만 Testing Data에서는 정확도가 떨어집니다(Inaccuracy). 랜덤포레스트는 이러한 트리들을 랜덤하게 형성해서 정확도(Accuracy)를 높이는 목적으로 사용됩니다. 랜덤포레스트(Random Forest) 모델 생성 테이블1은 데이터셋으로 과자, 채소, 피자를 하루에 ..

[머신러닝]Regression Tree 가지치기(Prune) 예제로 쉽게 이해하기(Cost Complexity/Weakest Link Prunning)

목차 Regression Tree 가지치기란? 앞서 회기형 트리에 대해서 배워보았습니다(https://scribblinganything.tistory.com/711). 회기형 트리(Regression Tree)를 만들때 모든 Training Data에 대해 세분화 해서 Node를 만들어서 분류를 하게 되면 Overfitting이 발생한다고 하였습니다. 이렇게 만들어진 트리 모델을 Test Data에 대입해 보면 Overfitting에서 RSS 값이 높게 나올 수 있습니다. 즉, Overfitting에 의해 Variance가 높아지는 것입니다. 그림1과 같이 하루 약 섭취에 대한 효과의 데이터를 통해 회귀 트리(Regression Tree)를 오른쪽과 같이 만들 수 있습니다. 만드는 방법은 앞전 포스트를 ..

[머신러닝] Regression Tree란? 예제로 쉽게 이해하기

목차 Regression Tree란? 그림1은 약 하루 섭취 정량이 100%일 경우 섭취량에 따른 효과를 그래프로 그린 것입니다. 기울기와 절편 두 개의 베타(Beta) 파라미터로 표현하는 선형 회기식(Linear Regression)으로 위 그래프를 예측하기 힘듭니다. 그래서 사용하는 방식이 Regression Tree 입니다. Tree 방식에 대한 이해가 부족하면 Regression Tree 를 이해하기 힘드므로 Decision Tree(https://scribblinganything.tistory.com/709) 글을 먼저 보고 오시길 바랍니다. Classification Tree와 회기 트리(Regression Tree) 차이 두 트리 구조의 가장 큰 차이는 Leaf Node에 의해 결정됩니다. ..

반응형