머신러닝(37)
-
Dimensionality Reduction - Data Compression & PCA
* 첨부된 자료의 모든 저작권은 COURSERA에 있음을 미리 밝힙니다. Dimensionality Reduction - Data Compression & PCA 이번에는 주어진 데이터셋의 차원을 낮추는 Data Compression과 그 일종인 PCA에 대해서 알아보고자 한다. 고차원의 데이터에서는 관측단계도 기하급수적으로 증가하고메모리도 굉장히 많이 차지하기 때문에 많은 문제점이 발생하게 된다.즉, 차원이 증가하면 이를 표현하기 위한 데이터의 양이 기하급수적으로 증가한다는 것이다. 따라서 기계학습을 시키기 위해서는 이 데이터의 차원을 축소하여 다룰 필요가 생기는데, 이를 차원 축소(DImensionality Reduction)라 한다. 차원 축소의 의미는 바로 "데이터의 의미를 잘 표현하는 특징을 추..
2019.02.16 -
UnSupervised Learning - K means Algorithm
* 첨부된 자료의 모든 저작권은 COURSERA에 있음을 미리 밝힙니다 Unsupervised Learning- K means Algorithm 지금까지 살펴본 기계학습 방법들은, (크게는 Linear Regression과 Logistic Regression을 사용한 분류 방법부터 좀더 구체적으로는 Linear Regression, One vs One, One vs All 까지) 모두 지도학습 (Supervised Learning) 을 통해 데이터를 훈련시켰다. Supervised Learning 이란 데이터셋을 제공할 때 이 데이터 셋이 출력해야 하는 결과값(y)까지 제공하는 것으로주어진 데이터를 훈련시켜 알고리즘이 어떤 결과를 가져와야 하는지를 알려주는 훈련 방법이다. 예를 들면 위 그림과 같다. x..
2019.02.16 -
Spam Classifier - implementation with Octave
* 첨부된 자료의 저작권은 COURSERA에 있음을 미리 밝힙니다. Spam Classifier - Implementation with Ocave 이번 시간에는 지난 시간에 논의한 바를 바탕으로 Spam Classifier 모델을 직접 구현해보았다.Spam Classifier Algorithm이 이메일을 분류하는 과정은 다음과 같다. 1. Preprocessing Emails 이메일을 처리하기 전에, 프로그램이 이메일을 처리하기 쉽도록 '전처리'단계를 밟아주는 것이 중요하다. 이 전처리 단계에서는 숫자들, 특수기호들, 서로 다른 URL주소들 등을 각자의 기준을 가지고 지정된 특정한 String으로 대체해 주는 것이다.예를 들어 모든 이메일 주소들은 "emailaddr", URL 주소들은 "httpaddr..
2019.02.14 -
Spam Classifier - Theory
* 첨부된 자료의 저작권은 CORSERA에 있음을 미리 밝힙니다. Building A Spam Classifier 이번 시간에는 그동안 배운 Machine Learning의 지식을 응용해서 스팸 메일을 걸러내는 Spam Classifier를 모델링해보았다.우선은 모델링을 하기 위해 어떤 방식으로 문제를 설정하고 Feature들을 설정해야할지를 고민해야 한다.이때, 초기 모델은 단순하며 빠르게 구현할 수 있는 것으로 설정하는 것이 좋다. Spam Classifier는 Supervised Learning(지도학습)으로 학습을 시키는 것이 좋다.지도학습이란, 데이터를 주고 그 데이터가 가져와야할 바람직한 결과까지 입력하여 학습을 시키는 것이다.이 문제의 경우 스팸 메일 데이터를 넘겨주면서 이것이 스팸메일이라는..
2019.02.14 -
Bias & Variance
* 첨부자료의 모든 저작권은 COURSERA에 있음을 미리 밝힙니다. Bias & Variance 이번 포스팅에서 살펴볼 내용은 우리가 Machine Learning 을 통해 구현한 알고리즘의 성능을 진단하고, 오류를 수정하는 방법과 절차에 대한 것이다. 우리가 예측한 알고리즘을 검증하는 방법은 다음과 같았다.1. 알고리즘을 학습시킬 데이터를 더 모은다. 2. 비슷한 류의 Parameter set으로 알고리즘을 수행해본다.3. 추가적인 Parameter를 알고리즘에 집어넣는다.4. Polynomial 한 Parameter를 추가한다.5. Regularization parameter lambda의 값을 증가시키거나 감소시킨다. (즉, 각 항의 영향력을 감소시키거나 증가시켜본다.) 하지만 여전히, 위의 방법..
2019.02.12 -
Neural Networks & BackPropagation with Octave
Programming Exercise 4: Neural Networks Learning 이번 프로그래밍 과제에서는 저번 과제에서 잠깐 살펴보았던 hand-written digit들의 pixel data matrix를 기반으로 Forward Propagation & BackPropagation을 수행하는Neural Networks Model을 구현하였다.구현해야 하는 파일은 다음과 같았다. ex4.m - Octave/MATLAB script that steps you through the exercise ex4data1.mat - Training set of hand-written digits ex4weights.mat - Neural network parameters for exercise 4submit..
2019.02.11