본문 바로가기

머신러닝32

[Machine Learning] SVM : Kernel 해당 내용은 Andrew Ng 교수님의 Machine Learning 강의(Coursera)를 정리한 내용입니다. 이번 시간에는 non-linear classifier에서 SVM을 적용하는 방법에 대해서 알아보자. - Kernel [Non-linear Decision Boundary] 위와 같은 data에서는 non-linear decision boundary가 필요하고, 우리는 다음과 같이 예측할 수 있을 것이다. \[\begin{align*}\text{Predict } y = 1 \text{ if } \\ &\theta_0 + \theta_1x_1 + \theta_2x_2 + \theta_3x_1x_2 \\ &+ \theta_4x_1^2 + \theta_5x_2^2 + \cdots \leq 0 \en.. 2020. 8. 23.
[Machine Learning] Support Vector Machine 해당 내용은 Andrew Ng 교수님의 Machine Learning 강의(Coursera)를 정리한 내용입니다. 이때까지 여러 종류의 학습 알고리즘에 대해서 알아보았다. Supervised learning에서 대부분의 학습 알고리즘의 성능은 유사하고, 우리에게는 어떤 알고리즘을 선택하느냐가 아니라 학습 알고리즘에 얼마나 많은 data를 적용할 것이냐가 문제가 될 것이다. Logistic Regression이나 Neural Network랑 비교했을때, Support Vector Machine(SVM)은 복잡한 비선형 함수에 대해서 때때로 더욱 명확하고 강력한 학습 알고리즘이 될 수 있다. - Optimization objective SVM을 알아보기 전에 Logistic Regression을 다시 살펴보.. 2020. 8. 22.
[Machine Learning] Machine Learning System Design 해당 내용은 Andrew Ng 교수님의 Machine Learning 강의(Coursera)를 정리한 내용입니다. 이번 강의에서는 실제 예시들을 가지고 머신러닝을 구현할 때 고려해야될 사항들을 살펴보자. - Building a Spam Classifier [Prioritizing what to work on] 스팸메일인지 아닌지 구분하는 학습 알고리즘을 지도학습(Supervised Learning)으로 구현한다고 생각해보자. \(x\) : features of email \(y\) : Spam (1) or not Spam(0) 예를 들면, spam/not spam을 구분할 수 있는 100개의 단어(andrew, buy, deal 등)를 선택해서 feature \(x\)로 사용할 수 있다. \(x = \b.. 2020. 8. 20.
[Machine Learning] Exam 5 (Week 6) 해당 내용은 Andrew Ng 교수님의 Machine Learning 강의(Coursera)를 정리한 내용입니다. 6주차 Programming Assignment는 다음과 같다. linearRegCostFunction.m - Regularized linear regression의 Cost Function과 Grad J를 구하는 과제 learningCurve.m - Learning Curve를 생성하는 과제 polyFeatures.m - input X를 P차원의 방정식의 모델로 매핑하는 과제 validationCurve.m - CV Curve를 생성하는 과제 전체 코드는 GitHub 사이트에서 참조할 수 있다. https://github.com/junstar92/Coursera/tree/master/Mac.. 2020. 8. 19.
[Machine Learning] Advice for Applying Machine Learning 1 해당 내용은 Andrew Ng 교수님의 Machine Learning 강의(Coursera)를 정리한 내용입니다. [Evaluating a Learning Algorithm] - Deciding what to try next Debugging a learning algorithm Regularized linear regression을 사용해서 집값을 예측한다고 할 때, 위와 같은 Cost Function이 있다. 하지만, 우리가 새로운 집에 대한 예측을 하는 경우에 큰 에러가 발생한다면, 다음과 같은 방법을 시도할 수 있다. Training example을 더 얻는다. Feature의 갯수를 줄이거나 늘린다. Polynomial features를 추가한다.(\(x_1^2, x_2^2, x_1x_2\), .. 2020. 8. 18.
[Machine Learning] Exam 4 (Week 5) 해당 내용은 Andrew Ng 교수님의 Machine Learning 강의(Coursera)를 정리한 내용입니다. ※ 아래에 문제 풀이가 있습니다. 원하지 않는다면 스크롤을 내리지 마세요. 5주차 과제는 다음과 같다. sigmoidGradient.m - sigmoid function의 미분을 계산하는 코드 randInitializeWeights.m - Parameter \(\theta\)을 random 값으로 초기화하는 코드 nnCostFunction.m - Neural Network의 Cost Function 코드 https://github.com/junstar92/Coursera/tree/master/MachineLearning/ex4 [sigmoidGradient.m] sigmoid function.. 2020. 8. 18.
[Machine Learning] Backpropagation in Practice 해당 내용은 Andrew Ng 교수님의 Machine Learning 강의(Coursera)를 정리한 내용입니다. [Unrolling Parameters] NN에서 우리는 \(\Theta^{(l)}, D^{(l)}\)의 행렬 정의가 필요하다. 더 이상 \(\Theta\)는 vector가 아니고, octave 등에서 사용하기 위해서는 Unroll 과정이 필요하다. \(s_1 = 10, s_2 = 10, s_3 = 1\)의 예시를 살펴보면, 아래와 같이 차원이 정의된다. \(\rightarrow \Theta^{(1)} \in \mathbb{R}^{10 \times 11}, \Theta_{(2)} \in \mathbb{R}^{10 \times 11}, \Theta^{(3)} \in \mathbb{R}^{1 \.. 2020. 8. 15.
[Machine Learning] Neural Network(Cost Function, Backpropagation Algorithm) 해당 내용은 Andrew Ng 교수님의 Machine Learning 강의(Coursera)를 정리한 내용입니다. BP : Back-Propagation 역전파 FP : Forward Propagation 순전파 [Neural Network(Classification)] 우리는 Neural Network의 Cost Function 비용함수와, Parameter \(\theta\)를 구해주어야 한다. 위 그림과 같은 Neural Network와 m개의 Training Set이 주어졌을 때, 용어는 아래와 같이 정의한다. \(L = \text{ total num layers in network}\) \(s_l = \text{ num of unit(not counting bias unit) in layer l.. 2020. 8. 15.
[Machine Learning] Exam 3 (Week 4) 해당 내용은 Andrew Ng 교수님의 Machine Learning 강의(Coursera)를 정리한 내용입니다. ※ 아래에 문제 풀이가 있습니다. 원하지 않는다면 스크롤을 내리지 마세요. 4주차 과제는 아래와 같다. lrCostFunction.m - Regularized Logistic Regression의 Cost와 편미분항을 계산하는 과제. 결론부터 말하자면, Ex2의 costFunctionReg.m과 완전 동일하다. oneVsAll.m - multi-class logistic regression의 분류를 예측하는 코드 작성 과제 predictOneVsAll.m - 예측 함수를 통해서 예측값을 반환하는 코드 작성 과제 predict.m - Neural network 예측 함수를 작성하는 과제 htt.. 2020. 8. 14.
[Machine Learning] Neural Networks : Model Representation(신경망 모델) 해당 내용은 Andrew Ng 교수님의 Machine Learning 강의(Coursera)를 정리한 내용입니다. [Non-linear Hypotheses] 이때까지 우리는 linear regression과 logistic regression을 알아봤지만, 이 방법들은 복잡한 데이터를 처리하는데 한계가 있다. 예를 들어서 아래와 같은 데이터에서는 non-linear feature(요소)들을 가지고 logistic regression을 적용해야될 것이다. 기존에 배운 방식대로 Logistic Regression을 사용해서 non-linear boundary를 만들 수 있다. 그래프 오른쪽의 식처럼 고차원의 feature를 추가하면 된다. 가령, 이전에 살펴보았던 집값 예측 문제에서 집값을 결정하는 요소는 .. 2020. 8. 12.