본문 바로가기

Machine Learning32

[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.
Basics of Neural Network programming (Week 1, 2) 해당 내용은 Coursera의 딥러닝 특화과정(Deep Learning Specialization)의 첫 번째 강의 Neural Networks and Deep Learning를 듣고 정리한 내용입니다. (Week 2) 1주차 내용은 딥러닝에 대해서 소개하는 내용과 수업의 전반적인 방향을 이야기해주어서, 따로 게시글을 쓰는 것이 아닌 여기에서 간단하게 정리하고 넘어가겠다. 딥러닝 특화과정에서는 5개의 강의가 있으며, 각 강의에서는 다음과 같은 내용을 다룬다.1. Nueral Network(NN) and Deep Learning(DL)- NN과 DL에 대해서 배우며, NN을 만드는 방법과 데이터를 학습하는 방법에 대해서 배울 것이다(고양이 이미지 인식기도 만들어 볼 것이다). 2. Improving Dee.. 2020. 8. 30.
[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.
[ML] Support Vector Machine(SVM) - 참고 문헌 및 사이트 핸즈 온 머신러닝 2nd https://en.wikipedia.org/wiki/Support_vector_machine https://ko.wikipedia.org/wiki/%EC%84%9C%ED%8F%AC%ED%8A%B8_%EB%B2%A1%ED%84%B0_%EB%A8%B8%EC%8B%A0 http://jaejunyoo.blogspot.com/2018/01/support-vector-machine-1.html Coursera의 Machine Learning에서 SVM에 대해서 강의를 들었지만, 조금 부족한 부분이 있어서 따로 더 공부를 해보았습니다. 강의에서 SVM을 설명할 때는 Logistic Regression에서 시작해서 Cost Function으로 hinge loss라는 .. 2020. 8. 26.
[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.