여러 변수를 사용한 선형 회귀는 "다변량 선형 회귀"라고도 합니다. 입력 변수가 여러 개일 때의 방정식 표기법을 소개합니다. xj(i)=x^{(i)}_{j}=xj(i)= i번째 훈련 예제 중 특징 j의 값 x(i)=x^{(i)}=x(i)= 훈련 집합의 i 번째 입력 특징 m=m=m= 훈련집합의 개수 n=n=n= 특징의 개수 여러 개의 (입력) 특징이 있는 가설 함수의 다중 변수 형태의 표현은 아래와 같습니다. hθ(x)=θ0+θ1x1+θ2x2+θ3x3+⋯+θnxn h_\theta (x) = \theta_0 + \theta_1 x_1 + \theta_2 x_2 + \theta_3 x_3 + \cdots + \theta_n x_n hθ(x)=θ0+θ1x1+θ2x2+θ3x3+⋯+θnxn 이..
머신러닝
앞선 포스트에서 정리하였던 것과 같이 경사하강 알고리즘은 비용함수를 미분하여 경사를 획득하고 이 경사값을 따라 진행해가며 그 값이 수렴할 때까지 반복하는 것입니다.이를 수식으로 표현하면 아래와 같이 요약됩니다.θj:=θj−α∂∂θjJ(θ0,θ1) \theta_j := \theta_j - \alpha \frac{\partial}{\partial \theta_j} J(\theta_0, \theta_1) θj:=θj−α∂θj∂J(θ0,θ1)선형회귀의 경우에 대해서 구체적으로 이를 적용해 보도록 하겠습니다.이를 위하여 비용함수와 가설함수를 선형회귀의 비용함수와 가설함수로 교체하도록 합니다.우선 선형회귀의 비용함수는 다음과 같습니다.J(θ0,θ1)=12m∑i=1m(y^i−yi)2=12m∑i=1m(hθ(..
경사하강법의 동작에 대해서 살펴보기 위하여 문제를 간단히 해보도록 합니다.하나의 입력 파라메터 θ1\theta_1θ1 만을 고려한 비용함수를 이용하여 비용하강 알고리즘에 대하여 살펴보겠습니다.하나의 입력 파라메터만을 사용할 경우, 아래의 결과 값이 수렴할 때까지 반복하게 됩니다. θ1:=θ1−αddθ1J(θ1) \theta_1:=\theta_1-\alpha \frac{d}{d\theta_1} J(\theta_1) θ1:=θ1−αdθ1dJ(θ1)위 과정은 비용함수(J(θ)J(\theta)J(θ))의 경사값의 부호(+, -)와 관계 없이 비용함수의 최소값 수렴하게 됩니다. 그 과정은 아래의 그림에 표현되어 있습니다.경사값이 양수일 경우, 새로 갱신되는 θ\thetaθ 값은 이전의 θ\thetaθ..
경사하강법 (Gradient Descent) 이제 우리는 가정(모델) 함수를 가지고 있으며, 이것이 얼마나 데이터에 들어맞는지 측정할 방법도 있습니다. 이제 우리는 가정 함수의 파라메터를 추정해야 합니다. 경사하강법은 여기에 사용됩니다.우리가 가정 함수를 θ0\theta_0θ0 와 θ1\theta_1θ1 에 기반한 그래프를 그린다고 해보겠습니다 (실제로 우리는 파라메터 추정의 함수로서 비용 함수를 그래프로 나타냅니다.) . 우리는 x 와 y 자체가 아닌, 우리 가정합수의 파라메터의 범위와 특정 파라메터를 선택했을 때의 비용 결과를 그래프로 나타냅니다.θ0\theta_0θ0 를 x 축에 놓고 θ1\theta_1θ1 을 y 축에 놓고, 비용함수를 z 축에 놓았습니다. 그래프 상의 값은 특정 thet..
우리는 앞선 과정에서 주어진 주택 면적과 가격에 대한 데이터를 대표한다고 생각되는 적당한 직선(가정 또는 모델)을 하나 그었습니다. 하지만 여러 개의 데이터가 주어졌을 때 이를 통해 결정할 수 있는 가정(모델)은 하나가 아닌 여러 개가 될 수 있습니다. 그중에서 제일 올바르다고 생각되는 것을 선택을 하기 위해서는 앞서 결정한 가정이 얼마나 데이터를 정확히 표현하는지 계산하여 평가합니다. 이때 사용하는 것이 비용 함수입니다. 이것은 모든 입력 x로부터 얻어지는 실제 출력 y와 가정의 결과를 통해 얻어지는 값 사이의 차이의 평균으로 정의합니다. 수식을 사용하여 표현한다면 아래와 같습니다. J(θ0,θ1)=12m∑i=1m(y^i−yi)2=12m∑i=1m(hθ(xi)−yi)2 J(\theta_0, \theta_..
모델 표현(Model Representation) 표기법 우선 여기서 앞으로 사용하게 될 표기법을 정의하고 넘어가도록 하겠습니다. x(i)x^{(i)}x(i) : 입력 특징 또는 “입력” 변수 (집의 면적) y(i)y^{(i)}y(i) : “출력” 혹은 목표 변수(집의 가격) (x(i),y(i))(x^{(i)} , y^{(i)})(x(i),y(i)) : 훈련예제 또는 데이터집합 (학습에 사용) (x(i),y(i))(x^{(i)}, y^{(i)})(x(i),y(i)); i=1,…, m : 훈련집합(m 개의 훈련예제) 여기서 윗첨자 “(i)” 는 훈련집합의 인덱스를 의미합니다. 입력변수의 공간을 표현하기 위해서 X 를 사용하고, 출력값의 공간을 표시하기 위해서 Y 를 사용할 것입니다. 이번 예제의 경우는 X..
비지도 학습을 사용하면 우리의 결과가 어떻게 보일지 거의 또는 전혀 모르는 상태에서도 문제에 접근할 수 있습니다. 우리는 변수의 효과를 반드시 알 필요가 없이 데이터로부터 구조를 도출할 수 있습니다.비지도 학습에서는 예측결과에 대한 피드백이 없습니다.예시:클러스터링(Clustering) : 100 가지의 유전자를 모아, 이 유전자를 수명, 위치, 역할 등과 같은 다양한 변수에 의해 어떻게 유사하거나 관련되어 있는지 그룹으로 자동 분류하는 방법을 찾으세요.Non-clustering : "칵테일 파티 알고리즘"은 혼란스러운 환경에서 구조를 찾을 수 있도록 합니다. (즉, 칵테일 파티와 같이 소리가 섞여있는 곳에서 개별 목소리와 음악을 식별해 낼 수 있습니다. )출처 : Coursera - Machine Le..
지도학습 지도학습에서는 입력과 출력 사이에 관계가 있다는 아이디어를 가지고 우리의 올바른 출력이 어떻게 보일 것인가를 이미 알고 있는 데이터 집합이 우리에게 주어집니다. 회귀와 분류 지도학습 문제는 “회기(regression)” 과 “분류(classification)” 문제로 범주화 할 수 있습니다. 회기 문제에서 우리는 결과를 연속적인 출력값으로 예측합니다. 이 말은 우리가 변수들을 연속함수로 맵핑하려고 시도한다는 뜻입니다. 반면 분류 문제에서 우리는 출력을 불연속값으로 예측하려고 합니다. 다른 말로 우리는 입력 변수를 분리된 카테고리에 매핑하려 한다고 할 수 있습니다.예시 1:부동산 시장에서 집의 크기에 관한 데이터가 주어졌을 때, 그것들의 가격을 예측하는 것. 가격은 크기의 함수로 연속적인 출력값을..