Coursera Machine Learning(1): 머신러닝이란 무엇입니까?단회귀분석, 최급하강법, 목적함수
1탄은 기계 학습의 정의입니다.단회귀분석, 최부상법, 목표 함수.
말하자면 기계학은 무엇입니까?
머신 러닝의 원래 정의는 다음과 같습니다.
The field of study that gives computers the ability to learn without being explicitly programmed. (Arthur Samuel)
명확한 프로그램 설계 없이 컴퓨터가 학습 능력을 갖추도록 하는 학문이라는 것이다.기계 학습의 컴퓨터 프로그램은 반드시 어떤 과제를 접하는 과정에서 경험에서 배워서 그 과제를 해결하는 능력을 경험에 따라 개선해야 한다.
모든 기계 학습은 대체로 두 종류로 나눌 수 있다.
교사 학습 있음(Supervised Learning)
어떤 데이터에서 입력과 출력의 관계가 명확한 상황에서 그 과제는 교사와 학습이라고 불린다.
교사와 학습은 1)회귀분석과 2)분류로 나뉜다.
1) 회귀분석
$X 입력1$...$X_n달러 및 출력 $Y1$...$Y_n달러 관계를 아는 데이터로 $X를 새로 입력a$Y에서 내보내기a$a의 구체적인 수치를 예측하는 과제입니다.
예)남의 사진을 봤는데 그 사람의 나이(수치!)예측
2) 분류(classification)
$X 입력1$...$X_n달러 및 출력 $Y1$...$Y_n달러 관계를 아는 데이터로 $X를 새로 입력a$Y에서 내보내기a$분류를 예측하는 과제입니다.
예)남의 사진을 보고 그 사람이 애인이 있는지 없는지(있냐, 없느냐의 분류!)예측
교사 없이 학습(Unsupervised Learning)
데이터에 포함된 변수 간의 관계를 가정하지 않고 데이터의 구조를 결정할 때 그 과제를 무교사 학습이라고 부른다.
무교사 학습의 대표적인 예는 컬렉션(clustering)이다.
클러스터링
데이터 내의 변수에 따라 데이터를 여러 그룹으로 나누다.
예) 남성 신입사원 500명의 이력서를 변수(전문·학력·경력·취미 등)에서 자동으로 유사군으로 나눈다.
단일 회귀 분석(Liner Regression with One Variable)
태랑군의 과거 4차례 수학 시험 점수는 다음과 같다.
테스트 번호
스코어
1
40
2
70
3
70
4
80
수학에 능숙해진 타오는 다음 수학 시험의 득점을 예측하려고 한다.득점이라는 수치를 예측해야 하기 때문에 교사가 학습에 대한 회귀 분석을 사용해야 한다.이번에 우리는 단회귀분석을 채택하여 하나의 입력(테스트번호)에서 하나의 출력(득점)을 예측하는 방법을 채택한다.
가설 함수
테스트 번호는 $X$이고 $Y$입니다. 단일 회귀 분석에서 $Y$X$X$X$X$X$X$X$Y는 다음 함수 공식으로 설명합니다.
\hat{Y} = h_\theta (X) = \theta_0 + \theta_1(X)
이것은 가설 함수(hypothesis function)의 예측 공식의 모델이다.이 함수에 대한 자유 매개 변수 $\theta0$、$\theta_1달러를 조정하여 데이터에 가장 잘 맞는 스타일을 만들다.
목적 함수
가설 함수와 데이터의 일치 정도를 계산하기 위해 목표 함수(cost function)를 도입했습니다.
J(\theta_0, \theta_1) = \frac{1}{2m}\sum_{i=1}^m(\hat{Y}_i - Y_i)^2 = \frac{1}{2m}\sum_{i=1}^m(h_\theta (X_i) - Y_i)^2
언뜻 보기에는 무섭다. 실제로 예측치 $\hat{Y}와 실측치 $Y$Y가 얼마나 편차가 있는지, 모든 데이터 포인트 (이번에는 $m=4$) 는 계산차의 제곱을 합쳐서 평균만 얻는다.2로 나누어진 것은 나중에 이 함수인 $J (\theta 0,\theta 1) 달러를 미분할 때 계산하기 쉽기 때문이다.
$J(\theta 0,\theta 1) = 0달러0$、$\theta_1달러를 찾으면 함수 $h를 가정합니다\theta(X)$모든 데이터 포인트를 완벽하게 통과합니다.
최급강하법(Gradient Descent)
가설 함수 $h$J (\theta 0\theta 1) $$$$$$$0$、$\theta_1달러 이동.목적 함수 $J(\theta 0,\theta 1) 최소화 $\theta 10$、$\theta_1달러를 찾는 방법 중 하나는 최하강법(Gradient Descent)이다.알고리즘은 다음과 같다.
\theta_j := \theta_j - \alpha\frac{\partial}{\partial \theta_j}J(\theta)
= \theta_j - \alpha \sum_{i=1}^m (h_\theta (x^{(i)}) - y^{(i)}) x_j ^{(i)}
이때 $j=0$1(자유 매개 변수 인덱스), $\alpha달러를 학습률(learning rate)이라고 합니다.
어떤 함수의 최소치를 구하는 문제는 고등학교 수학에서처럼 미분을 통해 경사도를 구한다.이번 변수는 $입니다.0$、$\theta_1달러와 2개가 있기 때문에 하나는 상수 미분으로 편미분을 사용한다.그리고 필요한 기울기를 $\alpha에 곱하여 원래의 $\theta로j$\theta에서 새$j를 구하다.
$\rac{partial\theta j} J (\theta 0,\theta 1) 달러가 충분히 작을 때까지 이 동작을 반복합니다.
0이 되면 이 함수는 극소값(local minima)을 가져옵니다.기울기가 0에 가까우면 $\alpha가 어떤 값이든 $\theta파동폭이 작아져 0에 가깝다.그리고 파동폭이 작아진 상태를 수렴(Convergence)이라고 하는데 수렴하기 전에 상술한 알고리즘을 반복한다.
수렴의 목표는 한 번의 갱신 중입니다.j$10^{-3}값의 변화는 $10^{3}보다 작다고 합니다.
다음은 최급하강법에 따라 목적 함수인 $J(\theta0,\theta1)달러의 값이 수렴에 가깝다는 것을 나타낸다.
주의점
1) $\theta_0,\theta_1달러 갱신이 동시에 진행됩니다.즉, 먼저 $0달러를 갱신해서 그 값을 달러로 바꾸었다1달러짜리 업데이트에서 사용하는... 이런 일은 추천되지 않는 것 같아요.
2)$\alpha달러가 너무 크면 $파동의 폭이 너무 커서 수렴할 수 없다.반면 $\alpha달러는 작을수록 느리지만 확실히 수렴됩니다.
총결산
태랑군의 과거 4차례 수학 시험 점수는 다음과 같다.
테스트 번호
스코어
1
40
2
70
3
70
4
80
수학에 능숙해진 타오는 다음 수학 시험의 득점을 예측하려고 한다.득점이라는 수치를 예측해야 하기 때문에 교사가 학습에 대한 회귀 분석을 사용해야 한다.이번에 우리는 단회귀분석을 채택하여 하나의 입력(테스트번호)에서 하나의 출력(득점)을 예측하는 방법을 채택한다.
가설 함수
테스트 번호는 $X$이고 $Y$입니다. 단일 회귀 분석에서 $Y$X$X$X$X$X$X$X$Y는 다음 함수 공식으로 설명합니다.
\hat{Y} = h_\theta (X) = \theta_0 + \theta_1(X)
이것은 가설 함수(hypothesis function)의 예측 공식의 모델이다.이 함수에 대한 자유 매개 변수 $\theta0$、$\theta_1달러를 조정하여 데이터에 가장 잘 맞는 스타일을 만들다.목적 함수
가설 함수와 데이터의 일치 정도를 계산하기 위해 목표 함수(cost function)를 도입했습니다.
J(\theta_0, \theta_1) = \frac{1}{2m}\sum_{i=1}^m(\hat{Y}_i - Y_i)^2 = \frac{1}{2m}\sum_{i=1}^m(h_\theta (X_i) - Y_i)^2
언뜻 보기에는 무섭다. 실제로 예측치 $\hat{Y}와 실측치 $Y$Y가 얼마나 편차가 있는지, 모든 데이터 포인트 (이번에는 $m=4$) 는 계산차의 제곱을 합쳐서 평균만 얻는다.2로 나누어진 것은 나중에 이 함수인 $J (\theta 0,\theta 1) 달러를 미분할 때 계산하기 쉽기 때문이다.$J(\theta 0,\theta 1) = 0달러0$、$\theta_1달러를 찾으면 함수 $h를 가정합니다\theta(X)$모든 데이터 포인트를 완벽하게 통과합니다.
최급강하법(Gradient Descent)
가설 함수 $h$J (\theta 0\theta 1) $$$$$$$0$、$\theta_1달러 이동.목적 함수 $J(\theta 0,\theta 1) 최소화 $\theta 10$、$\theta_1달러를 찾는 방법 중 하나는 최하강법(Gradient Descent)이다.알고리즘은 다음과 같다.
\theta_j := \theta_j - \alpha\frac{\partial}{\partial \theta_j}J(\theta)
= \theta_j - \alpha \sum_{i=1}^m (h_\theta (x^{(i)}) - y^{(i)}) x_j ^{(i)}
이때 $j=0$1(자유 매개 변수 인덱스), $\alpha달러를 학습률(learning rate)이라고 합니다.어떤 함수의 최소치를 구하는 문제는 고등학교 수학에서처럼 미분을 통해 경사도를 구한다.이번 변수는 $입니다.0$、$\theta_1달러와 2개가 있기 때문에 하나는 상수 미분으로 편미분을 사용한다.그리고 필요한 기울기를 $\alpha에 곱하여 원래의 $\theta로j$\theta에서 새$j를 구하다.
$\rac{partial\theta j} J (\theta 0,\theta 1) 달러가 충분히 작을 때까지 이 동작을 반복합니다.
0이 되면 이 함수는 극소값(local minima)을 가져옵니다.기울기가 0에 가까우면 $\alpha가 어떤 값이든 $\theta파동폭이 작아져 0에 가깝다.그리고 파동폭이 작아진 상태를 수렴(Convergence)이라고 하는데 수렴하기 전에 상술한 알고리즘을 반복한다.
수렴의 목표는 한 번의 갱신 중입니다.j$10^{-3}값의 변화는 $10^{3}보다 작다고 합니다.
다음은 최급하강법에 따라 목적 함수인 $J(\theta0,\theta1)달러의 값이 수렴에 가깝다는 것을 나타낸다.
주의점
1) $\theta_0,\theta_1달러 갱신이 동시에 진행됩니다.즉, 먼저 $0달러를 갱신해서 그 값을 달러로 바꾸었다1달러짜리 업데이트에서 사용하는... 이런 일은 추천되지 않는 것 같아요.
2)$\alpha달러가 너무 크면 $파동의 폭이 너무 커서 수렴할 수 없다.반면 $\alpha달러는 작을수록 느리지만 확실히 수렴됩니다.
총결산
끝맺다
여러분이 평가한 바와 같이 Coursera의 Machine Learning 강의는 통속적이고 알기 쉬운 인상을 줍니다.관심이 있더라도 초보자로서 비숍 같은 걸 갑자기 읽는 건 어려워요.이제 막 시작했지만 기대해도 될 것 같아요.
다음번는 주로 재회귀분석(Liner Regression with Multiple Variables)의 이야기다.
Reference
이 문제에 관하여(Coursera Machine Learning(1): 머신러닝이란 무엇입니까?단회귀분석, 최급하강법, 목적함수), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/katsu1110/items/fac314996f34540da260
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(Coursera Machine Learning(1): 머신러닝이란 무엇입니까?단회귀분석, 최급하강법, 목적함수), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/katsu1110/items/fac314996f34540da260텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)