Python与机器学习 章节2-单变量线性回归

  1. 模型描述
    m:训练集的数样本目,x:输入特征,y:输出变量,(x,y):一个训练样本,(x(i),y(i)):第i个训练样本,上标i不是指幂函数,而是索引,即表格中第i行。h:假设函数,接收输入的训练集,

线性回归模型

Python与机器学习 章节2-单变量线性回归
一元线性回归模型公式:
hθ(x)=θ0+θ1xh_\theta(x)=\theta_0+\theta_1x
2. 代价函数(1)
θ0,θ1\theta_0,\theta_1:模型参数。如何选择不同的模型参数,使得假设函数表示的直线,尽量与数据点较好地拟合?
(在线性回归中,我们要解决的是一个最小化问题,见下式,我们需要减少预测价格和实际价格的平均误差。)
12m(i=1mhθ(x)y)2\frac{1}{2m}(\sum_ {i=1}^{m}{h_\theta(x)-y)^2}
注:12\frac{1}{2}只是用于求导计算方便将hθ(x)h_\theta(x)的表达式代入上式得12m(i=1m(θ0+θ1xy)2\frac{1}{2m}(\sum_ {i=1}^{m}{(\theta_0+\theta_1x-y)^2}故我们只需要关心θ0θ1\theta_0,\theta_1的变化。我们想要做的就是关于θ0θ1\theta_0和\theta_1,对函数J(θ0,θ1)J(\theta_0,\theta_1)求最小值,代价函数(Cost Function)见下式,此代价函数是解决回归问题最常用的手段。
J(θ0,θ1)=12m(i=1mhθ(x)y)2J(\theta_0,\theta_1)=\frac{1}{2m}(\sum_ {i=1}^{m}{h_\theta(x)-y)^2}
3. 代价函数(2)
为了更好地使代价函数J可视化,我要使用一个简化的假设函数,见下式,即θ0=0\theta_0=0
hθ(x)=θ1xh_\theta(x)=\theta_1x
故新的代价函数为:J(θ1)=12m(i=1m(θ1xiyi)2J(\theta_1)=\frac{1}{2m}(\sum_ {i=1}^{m}{(\theta_1x^i-y^i)^2}
我们的优化目标是尽量减小J(θ1)J(\theta_1)