목록ML & DL/Coursera-ML (21)
분류 문제를 풀기 위한 Logistic Regression 알고리즘에 대해 알아본다. 이메일이 스팸인지 아닌지, 온라인 거래 시 사기인지 아닌지, 종양이 악성인지 아닌지 등 0 또는 1처럼 둘 중 하나의 값을 가지는 변수 y를 예측하는 문제는 classification으로 푸는 문제이다. 우선은 binary classification만 다루도록 한다. 종양의 크기에 따라 이 종양이 악성인지 양성인지 분류하기 위한 data set이 있다. (여기선 양성은 0, 악성은 1을 의미함) 회귀문제를 풀기 위해 선형회귀 알고리즘을 사용했던 것처럼 일단 직선을 그어보자 즉 우리가 할 수 있는 건 가설 h(x)의 결과값이 0.5가 되는 지점에서 수직으로 경계선을 긋는 것이다. 그래서 그 지점보다 size가 작으면 양성..
특정 선형회귀 문제에서 최적의 파라미터 θ를 구하는 또 다른 알고리즘 Normal equation에 대해 알아본다. Gradient descent는 iteration을 여러 번 하여 최소값을 찾아 나가지만 Normal equation은 θ를 분석적으로 구하기 때문에 알고리즘을 반복할 필요 없이 한번에 최적값을 구할 수 있다. θ가 실수일 때, 우리는 미분을 통해 기울기가 0이 되는 지점이 cost가 최소가 되는 위치라는 걸 알 수 있다. 이와 반대로 θ가 실수가 아닌 n+1차원의 파라미터 벡터인 경우 편미분을 이용하여 각 파라미터 θ에 대해 미분을 하여 0이 되는 지점을 찾아나가면 cost function을 최소화 할 수 있다. 하지만 파라미터 벡터의 차원이 매우 큰 경우 미분을 통해 일일이 계산하면 계..
우리는 feature가 하나인 집 값 예측 문제를 다뤘다.실제로 집 값을 예측하기 위해선 여러 feature들을 고려해야 한다. 이제 feature가 여러 개인 문제를 다뤄보도록 한다. 집 값을 예측하기 위해 4개의 사이즈, 침실 수, 층 수, 지어진 기간 등의 여러 변수를 고려해보자 이러한 feature들을 x1, x2, x3, x4라는 notation을 사용하여 나타내며 예측을 해야 하는 price는 y로 둔다. Feature를 표기하는 notation에 대해 좀 더 살펴보면 N은 feature의 개수가 된다. 여기선 4개의 feature를 사용할 것이기 때문에 n=4가 된다. X의 위첨자를 사용한 x^(i)는 training sample 중에 i 번째 sample을 가리킨다는 뜻이다. 따라서 x^(..
Gradient descent는 비용함수 J의 최소값을 구하기 위한 머신러닝 알고리즘이다.이 알고리즘이 어떤 것인지 알아보자. θ0, θ1을 파라미터로 하는 비용함수 J를 생각해보자. 여기선 2개의 파라미터만 존재한다고 가정했지만 실제론 굉장히 많은 파라미터가 존재할 것이다. 비용함수 J가 다음과 같은 형태일 때 θ0, θ1이 빨간 언덕위의 한 지점에서 초기화되었다고 해보자이 지점에서 작은 보폭으로 언덕을 최대한 빠르게 내려가고자 할 때 어떤 방향으로 가는 게 가장 빠른 길일까? 일단 주위를 둘러보고 언덕을 내려가는 가장 빠른 길을 찾아 따라서 내려간다. 아래 지점으로 이동하였다. 다시 여기서 주위를 둘러보고 작은 보폭으로 가장 빠른 길을 찾아 내려간다. 이러한 방식으로 새로운 지점에서 다시 주위를 둘러..
머신러닝을 할 때 아래 3가지 요소를 잘 정의해야 한다. Task: 내가 풀고자 하는 task는 무엇인가? Experience: 내가 가지고 있는 data는 무엇이고 이 data가 해당 task를 잘 설명하고 있는지, 충분한 data가 있는지 Performance measure: 머신러닝의 성능지표를 어떤 기준으로 두고 평가할 것인지 머신러닝의 학습 알고리즘은 크게 supervised learning과 unspervised learning 두가지로 나눌 수 있다. (그 외의 강화학습, 추천시스템 등이 있음.) Supervised Learning: 정확한 답이 있는 dataset을 주고 학습시키는 방법 - Classification: 이산적인 결과값을 예측할 수 있는 함수(모델)을 찾아 새로운 데이터에 대..