머신 러닝 24

머신 러닝[머신러닝 코세라 강의] (11주차) "Problem Description and Pipeline"

Photo OCR Problem Description and Pipeline Photo OCR 의 예시로는 사진에서 텍스트를 인식한 후 입력하는 것입니다. 텍스트를 인식한 후 영어 알파벳의 위치를 인식한 후, 각각의 알파벳을 분류합니다. 이러한 과정 (파이프라인)을 여러 엔지니어가 분업할 수 있습니다. Sliding Windows Photo OCR 의 텍스트 인식의 전체 과정을 이해하기 전에, 보행자 인식 과정을 먼저 생각해봅시다. Supervised learning 을 통해서 보행자 인식을 할 수 있습니다. 예를 들어, 82 x 36 pixel 크기의 패치 마다 보행자 여부를 인식할 수 있습니다. 패치를 조금씩 움직이면서 (슬라이딩 하면서) 보행자 여부를 인식합니다. 그리고 패치 사이즈를 변화시키면서 ..

머신 러닝 2022.10.09

머신 러닝[머신러닝 코세라 강의] (10주차) "Large Scale Machine Learning"

Gradient Descent with Large Datasets Learning With Large Datasets $J_{CV}$ 와 $J_{train}$ 이 $m$ 에 따라 변하는 값을 비교하면, $m$ 이 큰 것이 필요한지 여부를 판별할 수 있습니다. Stochastic Gradient Descent 대용량 데이터를 다룰 때 계산을 빠르게할 방법이 필요합니다. Gradient descent 의 문제는 $m$ 이 매우 클 때 계산이 어려운 점입니다. 모든 트레이닝 데이터에서 파라미터를 업데이트할 때 모든 데이터를 고려하는 것이 아니라, 각각의 데이터 포인트에 대해서 파라미터 업데이트를 합니다. Mini-Batch Gradient Descent Stochastic gradient descent 와 b..

머신 러닝 2022.09.05

머신 러닝[머신러닝 코세라 강의] (9주차) "Anomaly Detection/Recommender System" (이상징후 탐지 / 추천시스템)

Anomaly Detection Density Estimation Problem Motivation Anomaly detection (이상징후 탐지) 예시로, 비행기 엔진의 특징 두가지로 열 (heat) 과 진동 (vibration) 수치가 있다고 하자. 모형 $p(x)$ 를 구한 후에, $x_{test}$ 가 있을 때, 확률이 특정값 이하면 이상 징후로 예측하고, 특정값 이상이면 이상 징후가 아닌 것으로 예측한다. Gaussian Distribution 가우시안 분포는 일명 정규분포라고 하기도 한다. 가우시안 분포를 잘 안다면 스킵해도 괜찮다. $x \sim N(\mu, \sigma^2)$. 평균과 표준편차를 데이터로부터 추정할 수 있다. Algorithm 지난 시간에 배운 가우시안 분포를 이상징후 탐..

머신 러닝 2022.08.18

머신 러닝[머신러닝 코세라 강의] (8주차) "Unsupervised Learning" (비지도학습)

이번은 앤드류 응 선생님의 머신러닝 코세라 강의의 8주차 내용이다. 이번에는 비지도학습 (Unsupervised Learning)을 배운다. Clustering Unsupervised Learning: Introduction Unsupervised learning 에서는 레이블(outcome 같은 것)이 존재하지 않는다. Unsupervised learning 은 데이터에서 구조를 파악하는 것이다. 예를 들어, 서로 다른 cluster 를 찾는 것이다. Clustering 의 응용으로는 고객군을 분류하거나, 소셜 네트워크 분석에서 사용하거나, 컴퓨팅 클러스터를 구조화하는 것이다. K-Means Algorithm K-Means 알고리즘은 clustering 문제를 푸는 대표적인 알고리즘이다. 예를 들어, ..

머신 러닝 2022.08.11

[머신러닝 코세라 강의] (7주차) "SVM (Support Vector Machines" Machine Learning (by Andrew Ng)

이번은 앤드류 응 선생님의 머신러닝 코세라 강의의 7주차 내용이다. 이번에는 Support Vector Machine 알고리즘을 배운다. Large Margin Classification Optimization Objective 로지스틱 회귀식에서는 $y=1$ 일 때, $\theta^T x >>0$ 이다. $z = \theta^T x$ 가 $z=1$ 일 때 cost function 이 0이 되도록 되도록 한다. 비슷하게, $y=0$ 일 때, $z=-1$ 일 때 cost function 이 0이 되도록 한다. Cost function 에서 $A + \lambda B$ 에서, $\lambda$ 는 training 데이터로부터의 에러와 파라미터러부터 나오는 에러 사이의 가중치가 된다. $c A + B$ 형태로..

머신 러닝 2022.06.28

[머신러닝 코세라 강의] (6주차) "알고리즘 선택 가이드라인" Machine Learning (by Andrew Ng)

6주차 알고리즘을 선택하는 가이드라인 Learning 알고리즘 평가 다음에 할 스텝 정하기 만약 내가 사용한 모델에 에러가 클 때, 다음은 어떻게 해야할까? - 트레이닝 데이터를 더 찾는다. (하지만, 트레이닝 데이터를 더 수집한다고 에러가 줄어들지 않을 수 있다) - 공변량의 개수를 줄이거나 늘린다. - 일차항을 이차항이나 그 이상으로 늘린다. - Regularization 파라미터를 늘리거나 줄인다. 이러한 선택지들 중에서 성공할만한 선택지로 추리는 방법? ("머신 러닝 진단 (Machine Learning Diagnostic)") 가설 평가 training 데이터와 test 데이터로 분류한다. 트레이닝 데이터에서 에러(cost)를 최소화하는 파라미터를 추정한다. 그리고, 테스트 데이터에서 에러를 계..

머신 러닝 2022.06.21

[머신러닝 코세라 강의] (5주차) "뉴럴 네트워크" Machine Learning (by Andrew Ng)

이번 주차에서는 파라미터 추정을 위한 구체적인 방법론을 배웁니다. Backpropagation 알고리즘과 forward propagation 알고리즘을 직관적으로 이해하고, 이를 통해 파라미터를 추정하는 스텝을 배웁니다. Cost Function and Backpropagation Cost Function Cost Function in Logistic regression (Regularized version): $$J(\theta) = -\frac{1}{m} \sum_{i=1}^m [ y^{(i)} \times \log ( h_\theta (x^{(i)})) + (1-y^{(i)}) \times \log(1-h_\theta (x^{(i)}))] + \frac{\lambda}{2m} \sum_{i=1}^n..

머신 러닝 2022.06.14

[머신러닝 코세라 강의] (4주차) "뉴럴 네트워크 (직관적 이해)" Machine Learning (by Andrew Ng)

4주차는 뉴럴 네트워크에 관한 내용입니다. 이번 단원에서는 직관적으로 뉴럴 네트워크의 이론을 이해하는 단원입니다. 저는 neural network 가 효율적으로 표현할 수 있는 non-linear 가설의 예시가 좋았습니다. Neural network 를 벡터로 표현하기 $$a_1^{(2)} = g(\Theta_{10}^{(1)} x_0 + \Theta_{11}^{(1)} x_1 + \Theta_{12}^{(1)} x_2 + \Theta_{13}^{(1)} x_3) $$ $$a_2^{(2)} = g(\Theta_{20}^{(1)} x_0 + \Theta_{21}^{(1)} x_1 + \Theta_{22}^{(1)} x_2 + \Theta_{23}^{(1)} x_3) $$ $$a_3^{(2)} = g(\Th..

머신 러닝 2022.06.10

[머신러닝 코세라 강의] (3주차) "로지스틱 회귀" Machine Learning (by Andrew Ng)

3주차에는 classification 문제에 대해서 다룹니다. 쉬운 예로, 어떤 이메일이 도착했을 때, 특정 문장이나 각종 특징 (x)을 가진 이메일이 스팸이거나 (y=1) 그렇지 않거나 (y=1) 를 분류하는 문제입니다. 이전 시간에 배웠던 linear regression 은 outcome 이 0 미만이거나 1 초과의 값도 가질 수 있는 문제가 있습니다. 이를 해결할 logistic regression 을 배웁니다. 추가적으로, 이번 주차에서는 overfitting 문제에 대해서도 다룹니다. 관련 ipython 코드는 구글 colab 에 담아두었습니다. 로지스틱 함수 로지스틱 함수를 이용해 가설을 표현합니다. $h_{\theta} (x)$ 는 output 이 1이 나올 확률입니다. $$h_{\theta..

머신 러닝 2022.05.30

[머신러닝 코세라 강의] (2주차) "Cost function 의 벡터 표현" Machine Learning (by Andrew Ng)

2주차 테스트를 풀고, 프로그래밍 과제도 완료하였습니다. 프로그래밍 과제는 매트랩이나 옥타브로 하는데, 저는 매트랩으로 수행하였습니다. 홈페이지에서 토큰을 생성해주는데, 매트랩에서 코드를 시행하고 "submit" 을 창에 입력하면 이메일과 토큰을 입력하라고 합니다. 생각보다 체계적이어서 신선했습니다. 프로그래밍 과제는 cost function 과 gradient descent 를 함수 코드에 직접 생성하는 것인데, 수식 이해에 도움이 됩니다. 과제를 풀다가 추가할 수식/프로그램 코드가 있어서 내용을 추가합니다. Cost function cost function 수식입니다. 이전 링크에서 gradient scent 수식의 매트릭스 형태는 작성하였는데, cost function 은 직접적으로 다루지 않은 것..

머신 러닝 2022.05.29