Machine Learning 썸네일형 리스트형 Kernel Support Vector Machines Kernel Support Vector Machines 커널 서포트 벡터머신 SVM은 입력 데이터(Input)에서 단순한 초평면(Hyperplane)으로 정의되지 않는 더 복잡한 모델을 만들 수 있도록 확장한 것으로 쉽게 말해 일반적인 특성들은 선형적으로 분류가 되지 않는 경우가 많다. 이에 따라, 곡선과 같은 결정경계 모델이 필요해 탄생한 것. Regression과 Classification 모두 가능하지만 분류(SVC)만 다룰예정. (SVR에서도 같은 개념을 사용함.) *초평면이란 어떤 R^n공간에서 이 공간의 한점을 통과하는 해집합이다. 해집합이 R^n공간 안에서 n-1차원을 형성한다. 초평면 자체는 R^n의 subspace를 보장하진 않는다. a1x1 + a2x2 +...+ anxn +b = 0 .. 더보기 Decision Tree's Ensemble Decision Tree's Ensemble 결정트리의 앙상블 Ensemble은 여러 머신러닝 모델을 연결하는 기법이다. 두 Ensemble Model이 classification과 regression 문제에 효과적으로 나타남. Random Forest 랜덤 포레스트 Gradient Boosting Decision Tree 그래디언트 부스팅 결정트리 두 모델 다 기본 요소로 Decision Tree를 이용한다. Random Forest 기본적으로 조금씩 다른 여러 DT의 묶음이다. 과적합 문제를 피하기 위해 Decision Tree에서 파생된 방식이다. 알고리즘 잘 작동하되 서로 다른 방향으로 overfit한 트리를 많이 만들고 그 결과를 평균냄으로써 overfit을 완하하는 매커니즘이다. 구현 조건 구.. 더보기 Naive Bayes, Decision Tree Naive Bayes Classification 나이브 베이즈 분류기 특징 LR과 L-SVC같은 Linear Model의 Classification에 비해 훈련 속도가 빠른 편이지만, 일반화 성능이 떨어짐. 방식 각 특성을 개별로 취급하여 파라미터를 학습하고 각 특성에서 클래스별 통계를 단순하게 취합하는 방식. 종류 scikit-learn에는 GaussianNB, BernoulliNB, MultinomialNB( 이하 각각 G-NB, B-NB, M-NB 또는 G, B, M ) 세 가지가 구현됨. 1. 데이터(feature)의 속성에 따른 분류 연속적 데이터 모든 G-NB는 연속적인 데이터 ->이것을 기반으로 특성의 평균과 표준편차 저장 *이산적 데이터 B-NB는 이진 데이터 -> 이것을 기반으로 단순하게.. 더보기 Linear Model Linear Model y^ = w[0]*x[0] +w[1]*x[1]+ ... +w[p]*x[p]+ b 특성이 하나(p=0)일땐, 직선 p=1일땐, 평면 p>=2 일땐, 초평면 (hyperplane) p=0인 경우. p가 높을수록 linear model은 유리하다. train set의 수보다 feature가 더 많을 경우에 완벽하게 y(training)에 대해 mdeling이 가능 (overfit일 수 있긴 하지만..) Linear Regression은 linear model을 기반으로 하는 알고리즘의 한 파트이다. MSE를 이용하여 단순하게 cost를 채택하고 이를 기반으로 학습하는알고리즘 문제는 overfit을 방지할 어떤 장치도 없어 단순하게 학습하면, overfit이 되기 쉽상이다. 특히 feat.. 더보기 KNN Classifier, Regression KNN Classifier (N=3) (features_D=2) (non-parametric classifier) decision boundary표시. N의 값이 증가할수록 일반화 되어 smooth한 경계선이 생성됨. N=data set이 되면, 많은 class가 있는 data set으로 모든 예측값이 같아짐. 적절한 균형 필요. N=1 일때, 훈련 데이터에 예측정확도는 100%(모든 경계가 각 훈련데이터로 만들어짐.)(overfit) N이 9가넘어가면서 테스트셋에대한 정확도도 떨어짐(underfit) KNN Regression (N=3) (features_D=1) N이 증가할 수록 마찬가지로 일반화된다. 핵심 parameter => 1. 데이터 포인터간의 거리 측정법 (주로 L2 distance 유클리.. 더보기 Restricted Boltzmann Machine 근래에 대부분의 비전분야에 사용되는 DCNNs 방식은 인풋, 아웃풋이 있을때, 두 사이를 연결하는 함수를 찾는 과정(supervised learning)이다. (* Z는 정규화 term) 이와달리, Energy-based model를 이용한 RBM은 대표적인 Unsupervised Learning이다. 주어진 이미지에서 이미지를 가장 잘표현하는 representation을 찾는 과정이다. 가정하는 환경은 위의 Energy-based model이다. 특정상태의 확률은 에너지 비율에 반비례. 이러한 확률 분포를 bolttzman distribution이라고함. x라는 이미지(입력)가 있을 확률(p(x))은 에너지(E(x))에 반비례한다. 즉, 에너지를 학습하여 찾는 것이 목적이고, 이 아이디어에서 유도된 것.. 더보기 Exponential Moving Average (EMA) 위와 같은 날짜와 기온 데이터가 있다고 하자. 1년의 데이터를 표현한 것인데, 1월 ~ 12월의 흐름을 생각하면 된다. 모든 날짜를 표현하니 noise가 있어 다소 지저분하다. 따라서, 지역적인 평균(local average) 즉, moving average로 표현하는 것이 분석에 용이할 것이다. 이와 같은 식으로 날짜의 θ를 v로 대체하자. exponentially weighted moving average 를 얻을 수 있다. 일반화한 EMA의 식은 위와 같다. v_t는 의 대략적인 평균이다. 즉, 위와 같이 볼 수 있다. β의 크기가 커질 수록, v_t에서 고려하는 날짜의 크기 (window size)가 커지므로, 보다 곡선이 smooth해진다. 따라서, 급격한 기온변화에 둔감해진다. β가 커진다는 .. 더보기 Bias term의 필요성 원문 https://stackoverflow.com/questions/2480650/role-of-bias-in-neural-networks Q I'm aware of the Gradient Descent and the Back-propagation Theorem. What I don't get is: When is using a bias important and how do you use it? For example, when mapping the AND function, when I use 2 inputs and 1 output, it does not give the correct weights, however, when I use 3 inputs (1 of which is a bias), it gi.. 더보기 이전 1 2 3 다음