본문 바로가기

2019년 혁신성장 청년인재 집중양성(빅데이터)/[COURSERA] Machine Learning Stanford Uni

(32)
[week3] Multiclass Classification 1. 이메일을 분류할 때, 업무는 1, 친구는 2, 가족은 3, 취미는 4로 분류할 수 있고 2. 의료에서는 아프지 않음을 1, cold는 2, Flu는 3으로분류할 수 있다. 3. 날씨의 경우 좋은날은 1, 구름은 2, 비는 3, 눈은 4로 분류할 수 있다. 2. 세개의 값을 어떻게 분류 할 것인가, 이때 쓰는 방법이 One-vs-all 또는 One-vs-rest라는 방법이다. 1. One vs all이라는 방법은 간단하다 분류하려는 대상을 놓고, 그 나머지는 하나로 묶은 후 표준 로지스틱 리그레션을 시행한다. 2. 3개의 분류군이 있다면, 위의 그림과 같이 가설을 세계 만들어 3번의 표준 로지스틱 리그레션을 수행한다. 3. 그렇다면 어떻게 분류를 하느냐? 세가지 가설을 기준으로 모두에 대해 그것이 각..
[week3] Classification and Representation A. Classification 1. 종양의 크기에 따른 악성 유무 데이터가 있다고 했을 때, 우리가 저번에 배웠던 회귀모델을 적용시켜보자. 2. 회귀 모형은 데이터가 적을 때는 잘 적용되는 것처럼 보이지만, 크기가 큰 악성 종양 데이터가 생김으로써, 기울기인 세타 값이 작아지게 되며, 그로 인해 악성 종양을 분류하는 임계치가 커지게 되어 버린다. 3. 이로 인해서, 악성 종양이지만, 종양이 아니게 분류 되어 버린다. 1. 이 분류 문제에서, 예측 값은 0 또는 1의 값을 가지지만, 예측 값은 1보다 크고 0보다 작은 값을 가지는 상황이 발생 될 수 있는데, 이 문제를 해결하는 것이 로지스틱 리그레션이다. 리그레션이라는 말이 들어가지만, 역사적인 의미에서 들어간것 이기 때문에 분류라고 생각해라. 2. 로..
[week2] vectorization 1. 가설을 계산할 때 방법이 두 가지다. 반복문을 통해 계산을 하거나, 아니면 각각의 가설의 파라미터와 데이터를 벡터화 한후, 행렬곱을 하는 것이다. 무엇이 더 빠르냐? 당연히 행렬곱이 훨씬 빠르다. 한줄이면 되니까. 1. 경사 하강법을 쓰기 위해서는 각각의 세타를 동시에 갱신해야 한다. 왼쪽 상단의 방법이 3줄로 갱신을 하는 방법이다. 2. 여기서의 핵심은 한 줄의 벡터화 코드로 축약하는 것이다. [세타0; 세타1; 세타2] := [세타0; 세타1; 세타2] - 학습률[델타0 ; 델타1; 델타2] 로 축약할 수 있다. 이 식을 통해 벡터 세타가 수렴하는 벡터를 찾는 것이다. 이때 벡터 델타는 중앙의 파란색으로 쓰여진 공식과 같다. 벡터 델타의 원소는 각 관측치의 해당 피쳐의 값과 오차의 곱의 합의 평..
[week2] Computing Parameters Analytically 1. Normal equation은 단 한번의 계싼으로 최적의 값을 구한다. 1. 비용함수에서의 세타가 실수일 때, 비용함수의 최소값을 구하는 방법은 미분을 하고 그 미분이 0이 될 때의 값을 찾는 것이었다. 2. 그렇다면 세타가 n+1의 파라미터 백터라면, 비용함수 j의 최소값을 어떻게 구해야 할까. 3. 비용함수 j를 편미분 하는 방법이 있다. 각가 모든 파라미터 세타 j에 따라서 미분하고 각각이 0이 되게 하면 모든 세타에 대하한 값을 구할 수 있다. 4. 애초에 비용함수가 하나의 함수이기 때문에 미분을 통해 최소 값을 찾을 수 있는 것은 당연하다. 하지만 오래걸린다. 해보지는 않을 거지만, 일단 뭐가 필요한지에 대해 알 필요는 있다. 1. m이 4이고, n이 4인 데이터 셋이 있고, 알고자하는 값..
[week2] Multivariate Linear Regression 1. 만약 가격을 결정하는 변수들이 많다면 어떻게 될까? 2. 피쳐의 수는 n을 쓰며, 데이터의 수는 m을 사용한다. 3. 분홍색, x2는 하나의 관측치 4개의 피쳐 모두를 말한다. 즉 n차원의 벡터를 말한다. j는 feature의 number를 말한다. 1. feature의 수가 많아졌기 때문에, 가격을 추론하는 식 또한 달라진다. 그것이 첫 번째 식이고, 그 중 하나의 구체적인 에시가 아래이다. 1. X0를 1로 놓은 것은, 새로운 피쳐 하나가 추가된 것으로 볼 수 있다. 모든 관측치에 대해 1의 값을 가지는. 2. Xi의 피처의수는 n차원의 벡터로 표현할 수 있고, 세타 역시 n차원의 벡터로 표현할 수 있다. 3. 그리고 가설 h는 세타의 전치행렬(1*n)에 피처의 행렬인 n*1 행렬을 곱하는 것으..
[week1] Linear Algebra Review, Matrices and Vectors 1. 숫자들의 사각 배열이 행렬이다. 2. 행렬의 차원은 행과 렬의 곱으로 표현된다. 3. 파란색 박스와 같이 행렬을 표시할 수 있다. i는 행의 위치를, j는 열의 위치를 나타내어 원소의 위치를 표시할 수 있다. 2. 행렬은 많은 자료를 정리하고 인덱싱하기 위한 방법이다. 1. 벡터는 특수한 형태의 행렬이라고 볼 수 있다. 벡터는 n*1의 행렬이다. 2. 그렇기 때문에 행렬의 표시 방법을 사용할 수 있다. 3. 인덱스 방법은 수학에서는 1-Indexed 방법을 많이 사용하고, 기계학습에서는 0-Indexed 방법을 많이 사용한다. 4. 소문자를 표기하는 것은 보통 백터를 표시하는 방법이고, 대문자로 행렬을 표시하는 방법을 사용한다. 1. 동일한 차원의 행렬만을 덧셈할 수 있다. 행렬의 차원이 같지 않다..
[week 1] Model and Cost Function 1. 면적을 보고 가격을 예측하는 문제는 지도학습이며, 회귀문제이다. 1. 이번 강의에서 사용하게 될 용어이다. 2. m은 학습에 사용하게 될 데이터의 숫자이며, x's는 feature를 나타내며, y's는 타겟 변수를 나타낸다. 3. (x,y)는 하나의 학습예제를 표기하는데 사용된다. 4.(x(i),y(i))는 i번 째 예제를 표기하는데 사용된다., 1. 트레이닝 셋을 알고리즘을 통해 배우고, 그 결과인 h(가설)을 통해 사이즈로 부터 가격을 예측한다. 2. 그렇다면 어떻게 이 가설을 표현하는가? 우리는 비선형 적인 함수도 있지만, 먼저 선형적인 함수로 가설을 표현하려 해본다. 3. 위와 같은 형태를 선형회귀라고 한다. 또, 하나의 x값으로 가격을 예측하기 때문에 단일변량 선형회귀라고 한다. 1. 이 ..
[week1] introduction 1. 우리는 기계가 지능을 가지길 원했고, 몇몇 간단한 일들을 스스로 해내길 원했습니다... 뭔가 여운이 남는 말이다. 우리는 기계가 지능을 가지길 원했다..., 1. 머신러닝이 적용되는 여러 분야들 1. Arthur Samuel은 "명시적" 프로그래밍 없이 스스로 학습하는 능력을 주는 것을 머신러닝이라고 정의했다. 1. Tom Mitchell은 파랑색 글씨와 같이 정의 했다. 컴퓨터 프로그램이 경험 E로부터 배워 작업 T를 수행하며 성능을 P로 측정하는 것, 그리고 T의 성능이 P로 측정되먀, E와 함께 향상되는 것이 머신러닝이다. 2. 중간에 문제도 풀수 있다. 표시 한 것과 같이 스팸 분류에서 T,E,P가 나뉘어 진다. 1. 교수님은 이론적인 아닌 실무적인 방식으로 가르치신다고 한다. 즉 도구를 잘..