什么是回归
回归百度百科的定义是:研究一组随机变量Y=(y1,y2,,,,yn)与另一组随机变量X=(x1,x2,,,,xn)之间关系的统计变量方法。回归主要的种类有:线性回归、曲线回归、二元logistic回归、多元logistic回归。
回归从一组数据出发,确定某些变量之间的定量关系式;即建立数学模型并估计未知参数。通常用最小二乘法。
线性回归
当因变量和自变量为线性关系时,它是一种特殊的线性模型,也就是线性回归,你可以把线性回归理解为求一条直线来拟合你的数据点。

推导
以预测房价为例,给定一组数据点(Y1,Y2,,,,Yn),(X1,X2,,,,Xn),其中的Yi表示对应的样本输入为Xi时的房价,是一个标量,而Xi是一个d维向量,每一维表示衡量房价的一个标准,比如第一维表示面积、第二维表示房间地理位置、第三维表示楼层等。
我们知道2维空间中直线的方程是:y=kx+b
3维空间中直线方程是:z=k1x+k2y+b
那么类比d维空间中的直线方程应该是:
y=θ1x1+θ2x2+...+θdxd+θ0(1)
线性回归就是要求出这条直线,也就是已知数据点,求出直线的参数θi,i=[0,1,2,...d],其中,小写的xj表示Xi的d个特征中的第j个特征的数值。
我们发现Xi相当于一个d维的向量,而参数θ也有d+1个,所以想到用θ=[θ0,θ1,,,θd]来表示,将Xi扩展1维也变成d+1维,即Xi=[1,x1,x2,...xd],所以(1)式可以变成向量相乘的形式:
Y^=Xθ(2)
其中,X,θ都是d+1维的向量, X是行向量,θ是列向量。
(2)式是我们建立好的模型,将来我们要用它来预测房价,那么怎么衡量预测值与真实值之间的差异呢?就是用平方损失函数来衡量。
平方损失函数
J(θ)=i=1∑n(Yi−Y^i)2(3)
(3)式也可以向量化,如下图所示:

所以损失函数可向量化为:
J(θ)=(y−Xdθ)T(y−Xdθ)(4)
其中y是真实标签,Xdθ是预测标签,这样就可以衡量损失了。
要计算θ,则可以先把(4)式展开,然后对θ求导:

求导之后就变成下面的式子:

变形得到:

之后就可以用得到的线性方程来预测房价了。
实现
实现可以看我的github地址:实现
参考:通俗理解线性回归(二)