ML in Python(40)
-
[Data Analysis 개념] (kernel)SVM - Support Vector Machine의 직관적 이해와 수학적 개념
이번 게시글은 SVM에 대한 원리와 이해에 집중한다. Python을 통해 구현하는 과정은 아래 링크를 통해서 학습하길 바란다. https://todayisbetterthanyesterday.tistory.com/32 [Python] SVM(Support Vector Machine)구현 실습 *아래 학습은 Fastcampus의 "머신러닝 A-Z까지"라는 인터넷 강의에서 실습한 내용을 복습하며 학습과정을 공유하고자 복기한 내용입니다. SVM은 다른 분류모형처럼 Decision Boundary를 형성하는 것에 �� todayisbetterthanyesterday.tistory.com 1. SVM의 직관적 이해 1) SVM의 직관적 이해 SVM은 다른 분류모형처럼 Decision Boundary를 체계적인 방법..
2020.07.16 -
[Python] SVM(Support Vector Machine)구현 실습
SVM은 다른 분류모형처럼 Decision Boundary를 형성하는 것에 집중한다. 그리고 boundary의 결정은 위의 그림과 같이, 각 분포로부터 margin을 최대화하는 것을 목표로 결정하게 된다. 하지만 이러면 분산대비 평균의 차이를 극대화시키는 LDA와는 크게 다른 점이 없어 보인다. 그렇다면 아래와 같은 경우는 어떻게 되는가? 위의 그림을 보면 margin사이에 다른 데이터가 분포하고, 게다가 boundary를 넘어서 다른 집단의 데이터가 분포한다. 이러한 경우는 일반적인 데이터에 매우 많이 존재한다. 오히려 깔끔하게 boudary에 따라 분리되는 데이터를 찾는 경우가 더 힘들수도 있다. SVM은 이러한 데이터의 경우를 생각하여, 적당한 error를 허용하며, 이를 최소화하는 boundary..
2020.07.16 -
[Data Analysis 개념] LDA와 QDA의 이해
LDA는 간단하게 말해서 집단간의 분산대비 평균의 차이는 최대로 하는 Dicision Boundary를 찾아내는 방법이다. 그리고, QDA를 알기 위해서는 LDA에 대해서 먼저 알아볼 필요가 있다. LDA의 직관적 이해 다음 그림을 먼저 봐보자. 위에 나타난 1,2,3 데이터를 잘 구분하기 위해서 어떤 선을 그어야 하는가? 여러 방법이 있지만, 그 중 하나가 바로 LDA이다. LDA는 기본적으로 두 가지 가정을 한다. 1. 각 집단은 정규분포형태의 확률분포를 갖는다 2. 각 집단은 비슷한 형태의 공분산 구조를 갖는다 이 두 가지 가정하에서 LDA를 보통 적용한다. 위의 선은 가상으로 각 집단들을 나눈 Decision Boundary를 나타낸 것이다. LDA는 분산대비 평균의 차이를 최대화하는 직선을 찾는..
2020.07.09 -
[Python] LDA(Linear Discriminant Analysis - 선형판별분석)/QDA(Quadratic Discriminant Analysis - 이차판별분석) 구현 실습
LDA/QDA는 간단하게 말해서 집단간의 분산대비 평균의 차이는 최대로 하는 Decision Boundary를 찾아내는 방법이다. 자세한 직관적 이해와 수학적 원리는 아래 링크를 통해 학습하기 바란다. https://todayisbetterthanyesterday.tistory.com/25 [Data Analysis 개념] LDA와 QDA의 이해 *아래 학습은 Fastcampus의 "머신러닝 A-Z까지"라는 인터넷 강의에서 실습한 내용을 복습하며 학습과정을 공유하고자 복기한 내용입니다. LDA는 간단하게 말해서 집단간의 분산대비 평균의 차이는 todayisbetterthanyesterday.tistory.com 이 게시글은 Python을 통한 실습 과정만 존재한다. 과정의 순서는 1. 기본적인 LDA(L..
2020.07.08 -
[Data Analysis 개념] 차원 축소법 - PCA(주성분 분석)
이 게시글은 PCA의 이해와 수학적 과정만을 다룬다. Python 실습코드를 따라가보면 훨씬 이해가 잘 될 것이다. 아래 링크를 남겨놓겠다. https://todayisbetterthanyesterday.tistory.com/16 [Python] - PCA(주성분분석) 실습 *아래 학습은 Fastcampus의 "머신러닝 A-Z까지"라는 인터넷 강의에서 실습한 내용을 복습하며 학습과정을 공유하고자 복기한 내용입니다. PCA는 Principal component analysis의 약자로 차원의 저주를 해결� todayisbetterthanyesterday.tistory.com 데이터 분석을 진행할 때 발생할 가능성이 높은 문제(특히, KNN에서) "차원의 저주". 이를 해결하려면 어떻게 해야하나? 차원의 저..
2020.07.07 -
[Pyhon] KNN(K-Nearest Neighbors)알고리즘과 Cross-Validation을 통한 최적의 K찾기 실습
KNN(K-nearest neighbors)알고리즘은 분포된 주변 k개의 데이터를 통해서, 타겟변수를 회귀/분류하는 모델이다. 이번 게시글은 KNN을 sklearn에 존재하는 iris Data Set을 통해서 직접 구현해보는 과정을 진행하겠다. 이 게시글은 Python 코드의 과정만 존재하기에 KNN에 대한 직관적/이론적 이해는 아래 링크를 통해서 학습하길 추천한다. https://todayisbetterthanyesterday.tistory.com/19 [Data Analysis 개념] KNN(K-Nearest-Neighbors)알고리즘 ※ 이 게시글은 KNN분류에 대한 이론만 게시된 게시글입니다. KNN이란, K-Nearest-Neighbors의 약자로, 간단하게 말해서 K개의 이웃한 데이터를 기반으..
2020.07.04