본문 바로가기

Coursera 강의/Machine Learning31

[Coursera] Andrew Ng - Machine Learning 강의 요약 및 정리 Coursera에 있는 Andrew Ng 교수님의 Machine Learning 강의를 요약/정리한 것을 주차별로 모아두었습니다.11주차는 따로 정리는 하지 않았고, 1 ~ 10주차까지의 강의 내용을 정리하였습니다. Week 1:2020/08/02 - [Coursera 강의/Machine Learning] - [Machine Learning] Intro / 머신러닝이란 ?2020/08/02 - [Coursera 강의/Machine Learning] - [Machine Learning] Supervised Learning/Unsupervised Learning2020/08/04 - [Coursera 강의/Machine Learning] - [Machine Learning] Model and Cost Fun.. 2020. 9. 16.
[Machine Learning] Gradient Descent with Large Datasets 해당 내용은 Andrew Ng 교수님의 Machine Learning 강의(Coursera)를 정리한 내용입니다. 이번 강의에서는 대규모의 머신러닝에 대해 알아보겠다. 알고리즘이지만, 빅데이터 관점에서 보는 것이다. 최근 5~10년 전 머신러닝을 되돌아보면, 최근 학습알고리즘이 훨씬 더 높은 성능을 보이는 이유 중의 하나는 훈련할 수 있는 엄청난 양의 데이터 때문이다. 이번에는 이러한 대규모의 데이터가 있을 때, 처리하는 알고리즘에 대해서 알아보자. - Learning With Large Datasets 우리는 이전에 이미 머신러닝의 성능을 높이는 방법 중의 하나가 더 많은 데이터를 학습하는 것(Low Bias일 경우)이라는 것을 배웠었다. 위와 같은 비교를 통해서 머신러닝에서 가장 좋은 알고리즘이 중요.. 2020. 9. 5.
[Machine Learning] Exam 8 (Week 9) 해당 내용은 Andrew Ng 교수님의 Machine Learning 강의(Coursera)를 정리한 내용입니다. Exam 8에서 구현해야 하는 과제는 다음과 같습니다. - estimateGaussian.m : 가우시안 분포를 갖는 모델의 평균과 분산을 반환하는 코드 - selectThreshold.m : Anomaly Detection에서의 최적의 Threshold를 찾는 코드 - cofiCostFunc.m : Collaborative filtering의 Cost Function 작성 [estimateGaussian.m] 가우시안 분포를 갖는 X 행렬의 평균과 분산을 구하면 됩니다. 평균과 분산을 구하는 공식은 아래와 같습니다. 전체 코드입니다. function [mu sigma2] = estimate.. 2020. 9. 4.
[Machine Learning] Recommender Systems 해당 내용은 Andrew Ng 교수님의 Machine Learning 강의(Coursera)를 정리한 내용입니다. - Recommender System 이번 시간에는 현업에서 많이 주목받고 사용되는 추천시스템에 대해서 알아보자. 다음과 같은 영화 별점을 예측하는 예제를 살펴보자. 사용자들은 별점 0개에서 5개까지 사용해서 영화를 평가한다. 그리고 아래 4개의 parameter를 사용한다. - \(n_u\) = 유저의 수 - \(n_m\) = 영화의 개수 - \(r(i, j)\) = j 유저가 영화 i를 평가했는지에 대한 여부. 평가했으면 1, 안했으면 0이다. - \(y^{(i, j)}\) = j 유저가 영화 i에 평가한 별점이다. 0 ~ 5까지의 값을 가지며, 이 값은 \(r(i, j)\) = 1 일 .. 2020. 9. 4.
[Machine Learning] Anomaly Detection 해당 내용은 Andrew Ng 교수님의 Machine Learning 강의(Coursera)를 정리한 내용입니다.이번에는 Anomaly Detection(이상탐지)에 대해서 이야기해볼 것이다.Anomaly Detection은 머신러닝에서 일반적이며, 합리적으로 사용된다. 그리고 이것은 주로 unsupervised problem의 한 방법이지만, superivsed learning problem의 측면도 가지고 있다. 아래 예시를 통해서 Anomaly Detection이 무엇인지 살펴보도록 하자.- Density Estimation 여기 항공기 엔진 제조업체가 있고, 항공기 엔진을 조립이 완료되었을 때, 품질을 테스트한다고 가정해보자.그 테스트 중에 우리는 항공기 엔진의 기능을 측정하는데, 예를 들어서 엔.. 2020. 9. 2.
[Machine Learning] Exam 7 (Week 8) 해당 내용은 Andrew Ng 교수님의 Machine Learning 강의(Coursera)를 정리한 내용입니다. 8주차 과제는 다음과 같습니다. - pca.m : PCA 알고리즘 구현 코드 - projectData.m : PCA 알고리즘으로 구한 \(U\) 행렬을 통해서 새로운 feature \(z\)를 구하는 함수 - recoverData.m : 새로운 feature \(z\)에서 다시 n차원의 \(x_{approx}\)를 구하는 함수 - findClosestCentroids.m : 각 training example \(x^{(i)}\)의 가장 가까운 centroid의 index를 반환하는 함수 - computeCentroids.m : 각 centroid에 속하는 example을 평균을 구해서 cen.. 2020. 8. 27.
[Machine Learning] Dimensionality Reduction(PCA) 해당 내용은 Andrew Ng 교수님의 Machine Learning 강의(Coursera)를 정리한 내용입니다. [Data Compression] 엄청 많은 feature가 있는 training set이 있다고 하자. 그리고 그 중에서 아래와 같이 cm와 inch의 feature만을 뽑아서 그래프로 나타내보았다. 이와 같이 cm와 inch는 길이에 대한 feature이며, 두 feature가 연관성이 높다고 볼 수 있다. 우리는 2차원의 data를 1차원으로 줄여서 합칠 수 있다. 이렇게 차원을 줄이면 data의 양이 감소해서 사용되는 메모리를 절약할 수 있으며 학습 알고리즘의 속도를 높여준다. 3차원에서 2차원으로 감소하는 것은 위와 같다. feature \(x_1, x_2, x_3\)을 2차원의 평.. 2020. 8. 27.
[Machine Learning] Unsupervised Learning 비지도 학습 해당 내용은 Andrew Ng 교수님의 Machine Learning 강의(Coursera)를 정리한 내용입니다. [Clusterning] 이전까지는 supervised learning 지도학습에 대해서 이야기를 했었고, supervised learning은 아래처럼 주어진 training set과 이에 해당하는 label이 존재했다. 따라서 그래프를 봐도 명확하게 구분이 된다. 하지만, unsupervised learning 비지도 학습은 아래처럼 label이 없고 단지 Training set만 존재한다. 그렇기 때문에, 우리는 이 data를 가지고 어떠한 구조를 가지는지 찾아야하고, 이것을 Unsupervised Learning이라고 한다. 우리는 Training Set을 비슷한 특성을 가진 data.. 2020. 8. 25.
[Machine Learning] Exam 6 (Week 7) 해당 내용은 Andrew Ng 교수님의 Machine Learning 강의(Coursera)를 정리한 내용입니다. 7주차 과제는 아래와 같다. gaussianKernel.m - SVM을 위한 가우시안 커널 코드를 작성하면 된다. dataset3Params.m - SVM의 파라미터 \(C, \sigma\)를 구하는 코드를 작성하면 된다. processEmail.m - Email의 단어들을 순회하면서 해당하는 Voca List의 index번호를 찾아서 반환하는 코드를 작성한다. emailFeatures.m - email로부터 feature를 추출해야 한다. 주어지는 함수들은 다음과 같다. 전체 코드는 아래 Github에서 확인할 수 있다. https://github.com/junstar92/Coursera/.. 2020. 8. 25.
[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.