线性回归
我们在上一节房屋售价数据集的基础上,增添房间数量这一特征变量,如下图所示:
因此,特征变量 x x x变为了维度为2的向量,记作 x ∈ R 2 x \in R^2 x∈R2,其中 x 1 ( i ) x_{1}^{(i)} x1(i)表示数据集中第i个房屋的房屋面积,则 x 2 ( i ) x_{2}^{(i)} x2(i)表示数据集中第i个房屋的房间数量。
对于此监督学习问题,若我们采用线性回归模型,其假设函数 h ( x ) h(x) h(x)为:
h ( x ) = θ 0 + θ 1 x 1 + θ 2 x 2 = ∑ i = 0 m θ i x i = h θ ( x ) h(x) = \theta_{0} + \theta_{1}x_{1} + \theta_{2}x_{2} = \sum\limits_{i=0}^m \theta_{i}x_{i} = h_{\theta}(x) h(x)=θ0+θ1x1+θ2x2=i=0∑mθixi=hθ(x)
其中, h θ ( x ) h_{\theta}(x) hθ(x)表示以 θ \theta θ为参数。为了便于向量化,我们令 x 0 = 0 x_{0}=0 x0=0,则上式可改写为:
h θ ( x ) = θ T x h_{\theta}(x) = \theta^{T}x hθ(x)=θTx
从上式可知, θ \theta θ为未知变量。那么我们该如何根据数据集计算出 θ \theta θ的值呢?我们不妨回想一下假设函数 h θ ( x ) h_{\theta}(x) hθ(x)的定义。从上一小节可知,假设函数 h θ ( x ) h_{\theta}(x) hθ(x)是我们从给定数据集中学习得到的,其输出的值与数据集中的 y y y越相近越好。因此,我们可以定义如下的代价函数(Cost Function):
J ( θ ) = 1 2 ∑ i = 1 m ( h θ ( x ( i ) ) − y i ) 2 J(\theta) = \frac{1}{2} \sum\limits_{i=1}^{m} (h_{\theta}(x^{(i)}) - y^{i})^2 J(θ)=21i=1∑m(hθ(x(i))−yi)2
当代价函数 J ( θ ) J(\theta) J(θ)最小时,其参数 θ \theta θ的值为我们所要的,从而得到了拟合训练集的最佳参数。