美文网首页
机器学习(1)-线性回归

机器学习(1)-线性回归

作者: dzqiu | 来源:发表于2018-05-15 18:05 被阅读0次

    对于给定的维度为d的特征x=(x1,x2...xd),建立线性模型y=w1x1+w2x2...wdxd+b。给予m对的样本X,Y。其中实际结果为Y=(y1,y2...ym)T,属性为矩阵X=(x1T,x2T...xmT)T,如下,其中矩阵中最后一行为1是与偏移量b相乘。

    特征属性
    建立线性模型,则设定每个属性对应的权值w=(w1,w2...wd,b)T,那预测值Y'可以表示为:
    权重 预测值
    那么得出预测值与样本真实值对比,得到均方误差:
    均方误差
    由式子可见,调整各个权重w的值可以使得预测均方误差最小,求上式最小值,即需要求导,对矩阵求导可参考维基百科Matrix calculus中表格公式,最后得到结果如下: 求导
    当XTX为满秩矩阵时,上式取零则得到最优解:

    下面以一组简单一维特征样本实验(x,y)=(1,1.1), (2,1.9), (3,3.1), (4,3.9)得到拟合直线如下图:


    拟合直线

    程序如下:

    import matplotlib.pyplot as plt
    import numpy as np
    x = np.matrix([[2,1],[2,1],[3,1],[4,1]])
    y = np.matrix([1.1,1.9,3.1,3.9]).T
    w = ((x.T*x).I * x.T) *y
    plt.figure(1)
    plt.plot((x[:,0]),y,'x')
    Xr=np.linspace(0,5,101)
    Yr=w[0,0]*Xr+w[1,0]
    plt.plot(Xr,Yr)
    

    参考:

    通过一个例子快速上手矩阵求导
    Matrix calculus
    周志华 机器学习 清华大学出版社 2017

    相关文章

      网友评论

          本文标题:机器学习(1)-线性回归

          本文链接:https://www.haomeiwen.com/subject/eaesnxtx.html