본문 바로가기

Coursera 강의/Machine Learning31

[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.
[Machine Learning] Multivariate Linear Regression 해당 내용은 Andrew Ng 교수님의 Machine Learning 강의(Coursera)를 정리한 내용입니다. - Multivariate Linear Regression [Multiple features] 우리가 앞서 배운 Linear Regression 에서는 하나의 feature를 가진 x(집의 넓이)가 있었고, 그 x로 y(집의 가격)를 예측하는 것이었다. 하지만, 집의 가격을 결정하는 요소(feature)로 '침실의 개수' 또는 집이 지어진 지 얼마나 오래되었는 지도 알고 있다면 가격읠 결정하는 더 많은 요소(feature)를 갖게 된다. 이처럼 실제 상황에서는 하나의 변수만으로는 예측하기 어려운 경우가 많고, 이번 시간에 여러 개의 변수를 이용한 Multivariable Linear Regr.. 2020. 8. 4.
[Machine Learning] Gradient Descent 해당 내용은 Andrew Ng 교수님의 Machine Learning 강의(Coursera)를 정리한 내용입니다. - Gradient Descent 경사 하강법 Gradient Descent Algorithm은 Cost Function의 최소값을 구하는 알고리즘이다(즉, 최소가 되도록 하는 을 구하는 알고리즘이다). 이 알고리즘은 Linear Regression 뿐만 아니라 대부분의 머신러닝에서 실제로 사용되는 알고리즘이다. Gradient Descent 알고리즘은 다음과 같은 방법으로 진행된다. 1. Start with some (say ) 2. Keep changeing to reduce until we hopefully end up at a minimum 즉, 임의의 초기값으로 시작하여, 최소의 C.. 2020. 8. 4.
[Machine Learning] Model and Cost Function 해당 내용은 Andrew Ng 교수님의 Machine Learning 강의(Coursera)를 정리한 내용입니다. - Model Representation 위의 그래프는 집 크기에 따른 가격을 나타낸 것이고, 1250 feet^2의 집의 적합한 가격을 추측한다고 가정해보자. 이런 상황에서 우리는 데이터에 맞는 모델을 찾기 위해 직선을 하나 그어서 그에 대응하는 가격을 추측할 수 있다. 이러한 예시가 지난 강의에서 다루었던 Supervised Learning(지도학습) 중 Regression(회귀)의 예시 중의 하나이다. 이러한 모델을 통해서 우리는 1250 feet^2에 해당하는 적합한 가격이 220,000달러라고 말할 수 있다. 이것이 Supervised Learning이라고 불리는 이유는 데이터 예시.. 2020. 8. 4.
[Machine Learning] Supervised Learning/Unsupervised Learning 해당 내용은 Andrew Ng 교수님의 Machine Learning 강의(Coursera)를 정리한 내용입니다. - Supervised Learning 지도 학습 Supervised Learning이란, 특정 input에 대한 output(올바른 답) 샘플(label)의 데이터 셋이 주어져서 이 정보로부터 input과 output의 관계를 유추하는 것이다. 즉, 기존 정보를 토대로 새로운 input에 대한 output을 추측하는 것이다. Supervised Learning은 크게 Regression(회귀)와 Classification(분류)로 나눌 수 있다. - Regression(회귀) 회귀란 연속적인 값을 예측하는 것이다. 위의 주택 가격 예측 그래프를 살펴보자. x축은 집의 크기이며, y축은 가격.. 2020. 8. 2.