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

对于给定的维度为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

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 来源: http://www.douban.com/group/topic/14820131/ 调整变量格式: f...
    MC1229阅读 7,013评论 0 5
  • MCMC和Gibbs Sampling 1.随机模拟 随机模拟又名蒙特卡罗方法,蒙特卡罗方法的源头就是当年用...
    wlj1107阅读 6,358评论 3 6
  • thiele插值算法 1点插值算法 function [C,c]=thiele(X,Y,Z)%X为插值点横坐标,Y...
    00crazy00阅读 2,076评论 0 4
  • 1. 经验误差与过拟合 错误率:分类错误的样本数占样本总数的比例 例如:m个样本中有a个样本分类错误,则错误率为 ...
    geekspeng阅读 2,993评论 0 3
  • 爱是不能炫耀的。不像歌词里的,被偏爱的都有恃无恐。 回头看还能看见以前文字里孤独又无奈的大宝贝啊。 想到一句话,爱...
    jelly_阅读 182评论 0 0