机器学习(一)——线性回归(Linear Regression)

这篇博客介绍了机器学习中的线性回归,通过房价预测问题阐述问题陈述,详细讲解了寻找目标函数的过程,并重点讨论了使用梯度下降法最小化代价函数的方法,最终目的是通过线性回归模型对未知房价进行预测。

问题陈述

用一个简单的例子来描述用线性回归——房价预测问题。
y表示房子的价格(单位:美元),xj表示房子的特征(例如:面积、卧室的数目等等)。假设我们已经有了m个房子的样本,每个房子有n种特征值,用x(i)y(i)分别表示第i个房子的特征和价格。

寻找目标函数

简而言之,我们希望找到一个目标函数(Hypothesis Function)h(θ)使得对于每一个样本都有y(i)h(x(i))。假设找到了一个这样的目标函数h(θ),那么我们希望h(θ)不仅能够很好的拟合现有的样本,并且在我们提供一个未知房价的房子的特征时,h(θ)能够预测出这个房子的房价。
如果我们用线性回归来解决这个问题,就可以设h(θ)为如下形式:

hθ(x)=j=0nθjxj=ΘX

接下来,就要选择一组Θ,使得hθ(x(i))的值尽可能的接近y(i)。可以采用一个代价函数(Cost Function)J(Θ)来衡量实际输出hθ(x(i))与目标输出y(i)间的误差。当这个误差最小时,就表示我们找到了一组θj(向量表示为Θ),使得hθ(x(i))最接近于y(i)。设J(Θ)形式如下:
J(Θ)=12mi=1m(hθ(x(i))y(i))2

最小化代价函数

有许多方法可以最小化代价函数J(Θ),这里介绍最常用的一种——梯度下降法(Gradient Descent)。
为了简化说明,现在考虑最简单的情况,即每个房子只有一种特征(n=1)。那么目标函数可表示为:hθ(x)=θ0+θ1x1,代价函数就只包含两个参数θ0θ1,可表示为:J(θ0,θ1)=12mmi=1(hθ(x(i))y(i))2。现在,x轴表示θ0,y轴表示θ1,z轴表示J(θ0,θ1),作图如下:
这里写图片描述
由图可知,该图的谷底是J(θ0,θ1)最小的点。如何找到这个点呢?我们可以在该图上随机选取一个点,求该点的斜率,沿斜率下降(注意:沿斜率下降,也就是朝导数的反方向走),每次下降的步长由学习率α决定。当下降到下一个点后,重复以上步骤,就可以逼近最低点。梯度下降法的公式表示如下:

θj:=θjαθjJ(θ0,θ1)

其中,j=0,1,利用该公式迭代至收敛,求得的θ0,θ1就能够使J(θ0,θ1)最小。对于线性回归而言,该公式又可具体表述如下:
迭代至收敛{
θ0:=θ0αmi=1m(hθ(x(i))y(i))

θ1:=θ1αmi=1m((hθ(x(i))y(i))x(i))

}
如果目标函数中包含有更多的特征,即j>1。只需要根据梯度下降法的公式代入对应的偏导,并分别对θj更新即可。

最后,我们把通过梯度下降法求得的最小化代价函数Jmin(θj)所对应的所有θj代入目标函数h(θ),就可以对一个未知房价的房子进行房价预测了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值