본문 바로가기

Andrew Ng56

[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.
[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.