机器学习1.8-线性回归2.pptxVIP

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

机器学习;伟大的思想能变成巨大的财富。——塞内加

躯体总是以惹人厌烦告终。除思想以外,没有什么优美和有意思的东西留下来,因为思想就是生命。——萧伯纳

人类的全部历史都告诫有智慧的人,不要笃信时运,而应坚信思想。——爱献生

你可以从别人那里得来思想,你的思想方法,即熔铸思想的模子却必须是你自己的。——拉姆;目录;函数在这里表示

预测的线性函数;代价函数;线性回归的实现类,

通过梯度下降来更新权重;结合公式来对代码进行讲解;w_用来存储特征值的权重,通过随机梯度下降法的优化方法求出。w_是一个向量,长度是特征个数加1,因为每个特征对应一个权重,还有一个特殊的权重,表示偏移的常量b,一般用w0表示,对应的x0是常数1。根据上面描述,有m个特征,所以w_的shape是m+1,这个值是在fit函数中初始化,待会的fit函数中会讲解。;np.dot用于向量点乘或矩阵乘法(矩阵乘法的本质也是行与列的点乘)

所以代码的意思就是输入n个样本特征,并根据线性公式计算出对应的y值,

即线性回归的预测值。

举例:如果X=[x2,x1],w=[w2,w1,w0]

则输出结果是:x2*w2+x1*w1+x0*w0,x0=1

如果是两个样本,两个特征,就是一个2行2列矩阵

X=[x11,x12]

[x21,x22]

则结果是一个2行1列的预测结果,一共2个样本,表示每个样本的预测结果

[x11*w2+x12*w1+w0]

[x21*w2+x22*w1+w0];fit拟合就是训练的意思,输入的是样本特征数据X,和每个样本特征对应的真实标签值y。

self.w_=np.zeros(1+X.shape[1])

根据刚才讲的,w_用来存储特征值的权重,是一个向量,长度是特征个数加1,因为每个特征对应一个权重,还有一个特殊的权重,表示偏移的常量,一般用w0表示X.shape为(n,m),n是样本数,m是特征数,所以X.shape[1]就是特征数,1+X.shape[1]就是特征数加1.全部初始化为0.

self.cost_=[]

用来保存每一次的预测误差,就是代价函数J(w)的结果,很明显,这个cost的值是越小越好;一般来说,都要训练多次来找到最佳的w值,使得cost最小或接近最小。

n_iter是训练的次数,也是循环的次数。

output=self.net_input(X)

根据刚才讲的内容,output是线性函数的预测结果

errors=(y-output)

y是X特征??真实标签结果,所以真实值减去预测值就是误差errors;self.w_[1:]+=self.eta*X.T.dot(errors)

对每个特征值对应的权重w进行更新操作,不包括偏移值w0,与权重更新公式对应理解

根据权重更新公式,wj的变化delta为:学习率eta乘以

每个样本的误差(y-output)乘以对应特征值xj的和,再对比更新公式。

这个公式就是与self.eta*X.T.dot(errors)对应,

这里T表示转置的意思。

给大家留个作业,把X,X.T,X.T.dot(errors)

以及self.eta*X.T.dot(errors)的值都打印出来观察,看是否与更新公式相对应。

只是使用矩阵操作的方式一次性的完成了所有w的更新。;self.w_[0]+=self.eta*errors.sum()

对w0偏移量单独更新,因为特殊,

w0对应的特征值x0是一个常数1,所以对应w的更新公式,更新结果就是eta乘以

所有样本y-output=errors的和,直接用sum函数求和。

公式中的xj就是x0,为常数1值。

cost=(errors**2).sum()/2.0

完全对应代价函数,error误差的平方后求和除以2

self.cost_.append(cost)

记录每一次训练后的代价值;线性回归的预测函数,输入需要得到预测结果的特征值(一个或多个)

这个函数必须在fit即训练后进行使用,

因为训练后,如果理想的话,w就是达到最佳或接近最佳,

此时的预测结果就是使用训练后w的计算输出结果。;具体使用该类进行训练和预测见代码分析

文档评论(0)

godcoovAuxsv + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档