李宏毅(机器学习)机器学习概述+线性回归案例分析

发布于:2022-12-16 ⋅ 阅读:(297) ⋅ 点赞:(0)

深度学习即机器学习的一种方法

Scenario (场景)

 机器学习三层结构

首先,回归类问题一些简单可能的商业运用

本篇重点放在分析预测神奇宝贝进化之后的cp值

input是神奇宝贝当前cp值,output是神奇宝贝进化后的cp值

 第一步,建立模型(模型里有很多可选函数)

第二步,评价模型中函数的好坏

  

Loss function L是评价函数f好坏的一个函数

y是真实值,b+w*x是带入模型后估测的值

 

图上每一个点都代表了一个f,蓝色是最合适的

 第三步,选取最佳function

找到一个f,使得函数评价函数L(f)最小,那个这个f称为f*.

即穷举w和b,找到使L(f)最小的w和b

Gradient descent:只要L是可微分的,都能用该方法找到最合适的的f

所以目的是找到使得L最小的w(和b)的值,可以穷举但是效率不高。

Gradient descent:①随机选取一个w0值②计算w对L的微分,导数为负,则增加w的值;导数为正,则减少w的值

Learning rate,就是在w0的基础上调整w的值,Learning rate越大调整幅度越大

 

不断重复调整步骤,最后w值停留在了极小值点

 

上面讨论的是只有一个参数w,但是现实情况是有两个参数w跟b啊 

第一步,随机选取两个初始值w0,b0

第二步,分别计算两个参数的偏微分,然后进行调整。

第三步,选取调整之后的值作为初始值,重复上面的步骤,不断靠 近

在w b二元变量体系中,我们选取的方向就是等高线的法线方向

不断靠近最小值

但是极值点有多点,那就麻烦了,可能会取在不同的极值点

但是在linear regression里不用太担心。因为不存在local optimal(局部最优)。只有一个凹进去的地方,即极值点就是最值点

偏微分公式别忘了

对w做偏微分时,把b看作是常量

(附上代码段,代码段公式从上图得到) 

通过Gradient descent得到b值和w值,做出预测模型图像(红色直线)

X的一次函数还是不够复杂,特别是对于new data来说,不够完美,要找到一个完美的模型

来用二次函数试试!

可以看到现在average error更小了

有没有更复杂更适合的model?

试试三次函数!比二次函数又好了一丢丢

四次函数了..

在training data上更好,但是在testing data上更糟了

再来个五次函数

在testing data上直接烂了

总而言之模型越复杂,对于training data来说error系数越小

但是对于testing data来说,越复杂的model不一定有好的结果

当把training data扩大到60,可以看到其实还有其他的因素在影响

这个因素就是物种,可以明显看到有四个物种

所以linear function如下

不用上面这种选择性模型,引入要给全新系数

其实也好用,如果test data种类是比比鸟,则b1 w1处的那个参数为1,其余处参数为0这样就行了

现在结果就好多了

所以还有其他遗漏的影响因素吗

没事,将猜想出的所有可能影响因素全部添加到公式里面去

 Y’是考虑了物种,最后的y是考虑了hp ,w,h等多个因素

但是,这个模型运用在testing data上就炸了!!

所以为了避免上面这样炸掉,又来到第二步,建立评估模型好坏的函数L

L式子等号右侧,左半边得sum是error数目,右半边的sum即把左半边公式中的所有wi平方之后加起来。

为啥wi平方和越小越好?因为wi参数值越接近0,函数越平滑,即output对input的变化不敏感。结论就是wi绝对值越小越好。

注意:不用在考虑参数b了

再来我们可以调整λ的值来调整最终trainingtesting 数据产生error的数值,要取一个比较平衡的λ值(hh调参侠)

使用线性回归分析预测神奇宝贝进化后cp值案例归纳

一个线性回归的程序代码

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到