Machine Learning liner regression 1:回归(regression)

本文介绍了机器学习的基础流程:定义模型、设计评估函数及检验重构模型。通过实例讲解如何运用线性回归进行股票价格预测,并探讨模型复杂度对预测准确性的影响。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

机器学习总结一:(7月11日)

本文章是我在学习了台湾大学教授李宏毅的机器学习课程后,针对其中的要点做的学习笔记。文笔不够优雅,水平不够高深。感兴趣的博友们请移步李宏毅老师的youtube专栏:https://www.youtube.com/channel/UC2ggjtuuWvxrHHHiaDH1dlQ

或者在bilibili上观看网友搬运的视频:http://www.bilibili.com/video/av9770302/

机器学习的三个基本步骤:

  1. 定义一个模型

    根据要考虑的参数自定义一个基本的函数,如果要考虑的输入值仅有一个,譬如,对于股票预测中,我们仅仅考虑股票的当日价格,那么y = wx价格 + b。

    如果需要考虑的输入值有多个,譬如,我们不仅仅考虑当日的股票价格,还考虑当日的成交量,成交额等等特征值,那么我们可以设:

    其中x为输入的训练集的值,y为输出的预测值,w和b为未知参数。

  2. 设计一个判断该模型好坏程度的函数

    为了知道我们已经定义的模型好坏程度,我们需要定义一个判断模型好坏的函数,假设我们拥有m天的股票价格,那么我们可以将 第n(n<m-1)天的价格作为x,第n+1天的价格作为y,把它们当作训练集中的一组数据,譬如我们拥有十一天的股票价格数据,那么我们的训练集里,就可以有10组得到的数据。

     

为了知道我们模型的好坏,我们将每日的真实数据与通过模型预测出来的数据相比较,如果相差很小,则说明模型越好。

模型越好,则其计算出来的L(f)越小,所以我们通过求偏导数,然后找到局部最小值的方法,来找到最优解。因为我们设计的是线性的函数,所以根据线性回归的理论知识,局部最小值就是总体的最小值

具体的做法为:

1.选取随机的起始点w0

2.计算偏导数,然后按照偏导数为负数的方向移动

3.重复第二个步骤,直到偏导数为零,到达局部最小值的点

 

  1. 检验模型,重构模型

将得到的模型在测试数据上检验,如果发现效果不理想,则加入新的特征值,或者考虑增加模型的复杂度来重构模型:

最高考虑二次方

最高考虑三次方

最高考虑五次方

 

我们会发现,其实并不是越复杂结果越好,将多次实验的结果做成列表,我们来对比一下:

 

发现其实在最高考虑三次方项时,结果最为准确。

 

但是即使选取了较为准确的复杂度后,我们的模型还是不够完善,产生错误比较多,那么我们需要考虑更过的特征值(影响因素)

以股票为例子,我们会考虑,如果这只股票是沪深的股票,还是港股,还是美股。

将这些因素考虑进去后,我们还会遇到刚才同样的问题,即并不是越复杂越好,为了解决这个问题,我们对判断模型好坏的公式做一些修改

做这个修改的原因是,我们希望尽量的去除杂音的干扰(noises),所以我们得到的模型具有相对较低的敏感度(insensitive),即曲线应该较为平滑。

通过改变λ的值,我们得到一个列表

当λ取100时,在测试集合中得到的结果的误差是最小的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值