본문 바로가기

Coursera 강의65

[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.
[Machine Learning] Exam 2(Week 3) 해당 내용은 Andrew Ng 교수님의 Machine Learning 강의(Coursera)를 정리한 내용입니다. ※ 아래에 문제 풀이가 있습니다. 원하지 않는다면 스크롤을 내리지 마세요. 3주차 과제는 아래와 같다. plotData.m - classification data 그래프 그리기 sigmoid.m - Sigmoid 함수를 반환하는 코드 작성 costFunction.m - Logistic Regression의 Cost Function 코드 작성 predict.m - Logistic Regression의 예측값을 반환하는 코드 작성(0 또는 1의 값을 나타내야 한다) costFunctionReg.m - 정규화(regularization)된 Logistic Regression의 cost와 gradi.. 2020. 8. 11.
[Machine Learning] Regularization 정규화 해당 내용은 Andrew Ng 교수님의 Machine Learning 강의(Coursera)를 정리한 내용입니다. [The problem of Overfitting 과적합 문제]우리가 이때까지 배운 Linear Regression과 Logistic Regression 알고리즘은 많은 머신러닝 문제들에 적용시킬 수 있다. 하지만 Overfitting(과적합)이라는 문제에 빠져 알고리즘의 성능이 나빠질 수 있다.과적합이란 무엇일까 ? - 과적합 Overfitting우리가 이전에 예시로 들었던 집값 예측 문제를 다시 살펴보자. Linear Regression으로 집의 크기로부터 집값을 예측하는 문제였고, 선형 함수를 데이터에 맞게끔 적용하여 예측을 할 수 있었다. 하지만 아래 왼쪽 그래프처럼 이 모델은 그리 .. 2020. 8. 8.
[Machine Learning] Logistic Regression 2 (Cost Function, Gradient Descent, Multi-Class Classification) 해당 내용은 Andrew Ng 교수님의 Machine Learning 강의(Coursera)를 정리한 내용입니다. 이번 글에서는 이어서 Logistic Regression의 Cost Function, Gradient Descent, Multi-Class Classification에 대해서 알아볼 것이다. [Cost Function] 이제 Logicstic Regression를 하기 위해서 필요한 \(theta\) 를 구하는 방법에 대해 알아보자. 앞에서 배웠던 Linear Regression을 위한 비용함수(Cost Function)은 \(J(\theta) = \frac{1}{2m}\sum_{i = 1}^{m}(h_\theta(x^{(i)}) - y^{(i)})\) 이며, 우리는 아래와 같이 표현할 수도.. 2020. 8. 7.
[Machine Learning] Logistic Regression 1 해당 내용은 Andrew Ng 교수님의 Machine Learning 강의(Coursera)를 정리한 내용입니다. - Logistic Regression 로지스틱 회귀 이번 글과 다음 글은 classification(분류) 문제에서 주어진 data들을 discrete value(class)로 분류하기 위한 방법에 대해서 알아볼 것이다. 원하는 결과값 y는 분류된 class들 중에 하나에 속하게 된다. 분류(Classification)의 예시는 다음과 같다. - Email : Spam or Not Spam ? - Online Transactions : Fraudulent (Yes / No) ? - 온라인 거래 : 사기인지 아닌지 - Tumor : Malignant / Benign ? - 악성/양성 종양 위.. 2020. 8. 7.
[Machine Learning] Exam 1(Programming Assignment) 해당 내용은 Andrew Ng 교수님의 Machine Learning 강의(Coursera)를 정리한 내용입니다. ※ 아래에 문제 풀이가 있습니다. 원하지 않는다면 스크롤을 내리지 마세요. 2주차를 끝내고 Octave로 직접 코드 작성하여 제출하는 과제이다. 과제를 다운로드하여 압축을 풀면 다음과 같은 파일들이 있다. 우리가 작성해야되는 목록은 다음과 같다. 자세한 내용은 Ex1.pdf를 참조하면 된다. warmUpExercise.m - 5x5 단위행렬 A 반환하는 코드 작성(필수) plotData.m - 데이터의 분포를 볼 수 있는 figure를 만드는 코드 작성(필수) computeCost.m - univariate linear regression의 Cost Function J의 값을 반환하는 코드 .. 2020. 8. 7.
[Machine Learning] Octave 설치 / Vectorization(벡터화에대해서) 해당 내용은 Andrew Ng 교수님의 Machine Learning 강의(Coursera)를 정리한 내용입니다. Octave는 수치해석용 프로그램으로 Matlab의 대체재로 많이 쓰이며, Matlab과 호환성이 높다. 특히, 오픈소스로 무료로 사용이 가능하다. [GNU Octave 설치] 다음 사이트에서 설치가 가능하다. https://www.gnu.org/software/octave/download.html Download GNU Octave is a programming language for scientific computing. www.gnu.org 설치 방법은 wiki를 참조하였다. (https://wiki.octave.org/Octave_for_Microsoft_Windows) 나는 Wind.. 2020. 8. 7.
[Machine Learning] Computing Parameters Analytically 해당 내용은 Andrew Ng 교수님의 Machine Learning 강의(Coursera)를 정리한 내용입니다. [Normal Equation] : Method to solve for parameter analytically 이번 시간에는 Normal Equation에 대해서 배워볼 것이다. 이 방법은 특정 Linear Regression(선형회귀)에서 파라미터 의 구하는데 효과적인 방법이다. 지금까지의 Gradient Descent는 Cost Function의 값을 최소화하기 위한 것이었고, Gradient Descent를 여러 번 반복하고 나서야 최소값으로 수렴을 했었다. 하지만 Normal Equation은 Analytically(분석적으로) 단 한번의 연산으로 최소값을 구하는 방법이다. 예를 들.. 2020. 8. 4.