机器学习一:线性回归

作者 windliang | 公众号 windliang

Linear Regression 美 [ˈlɪniər] [rɪˈɡrɛʃən] : 线性回归 Loss funcition 美 [lɔs] [ˈfʌŋkʃən] : 损失函数 Gradient Descent 美[ˈɡrediənt] [dɪˈsɛnt] : 梯度下降 Model 美 [ˈmɑdl] : 模型

本文是对李宏毅教授课程的笔记加上自己的理解重新组织,如有错误,感谢指出。

视频及 PPT 原教程:https://pan.baidu.com/s/1geFro9H 密码:50sc 线性回归中维基百科的定义如下:

在统计学中,线性回归(Linear regression)是利用称为线性回归方程的最小平方函数对一个或多个自变量和因变量之间关系进行建模的一种回归分析。 这种函数是一个或多个称为回归系数的模型参数的线性组合

线性回归用途最多的地方就是做预测,根据已知的数据建立一个模型(也就是一个很复杂的函数),然后利用这个模型做预测。先举一个例子,即预测进化后神奇宝贝的 cp 值。

数据收集

假设我们有一些神奇宝贝的数据,他们的属性有种类 ,cp 值,hp 值,weight ,height 以及进化后的 cp 值。我们选取其中的 10 只做训练。

Model

下边是线性回归的最一般表示:

这里的

可以是 cp , weight , height 的值, 而 y 代表进化后的 cp 值,我们需要做的工作是确定

和 b 的值。而

的选取会直接影响到模型预测的准确性。

进化后的 cp 和什么因素相关?最直接的和进化前的 cp 一定相关,所以我们先用一个最简单的模型试一下:

只取一个 cp 值,w 和 b 的值可以有无数个,例如

那么,我们应该选哪一个的 w 和 b 的值呢?

Goodness of Function

我们定义一个函数,来评估当前的模型好不好,也就是 w 和 b 好不好。我们叫他为 Loss funcition ,他越小代表 w 和 b 越好。如果预测的完全正确,那么他将是 0 。

把 f 代入:

就是 f ,也就是预测的 cp 值 y上边一个三角 ( y 帽)指的是进化后的 cp 值。

Best Function

的 w 和 cp 的 对应的 loss 值

先把 w = 9.0 和 b = 10.0 的值带入,然后把已知的数据的 cp 值分别带入函数中,然后把预测出来的 cp 值 和原本的 cp 值

做个差,再平方一下(消除负数的影响),然后把每一个数据都

这样做,然后加起来得到 L 。

同理,求出

,

...... 的 loss 值,然后把它的分布图画出来。

每一个点都代表一个 f 颜色深代表 loss 值大,颜色浅代表 loss 值小 最小的 f 是叉号的地方,目测 w 是 2.4 , b 是 -190。

所以我们得到的模型就是

这样,我们就可以愉快的预测进化后的 cp 值了。

Test & 重新设计模型

咦?准确率似乎不是很高。原因很简单,我们的模型太简单了。让我们回到 Model 那个阶段,重新设计 Model 。

之前的 Model 我们用了最简单的

我们不妨,再加个

,变成

不是线性回归吗?怎么出现了 2 次项。仔细观察线性回归 Model 的定义

我们可以把

整体都当做是

项,不管平不平方,他们都可以看做常数项,而我们

的自变量是 ,它是 1 次的,那我们就是线性的。

同理,我们还可以再加入 3 次项, 4 次项,让 Model 更复杂,然后再进行 Test 查看预测的结果的 loss 值够不够小。

当然,我们还可以把其他的因素加入到模型中。

我们可以看到,似乎 HP 的值对进化后的 CP 值是有一定影响的,HP 值越大,进化后的 CP 值也越大。

我们继续复杂我们的模型。

然后我们向上边一样穷举 b ,

的值,观察哪一组 b ,

会使得 loss 值最小。

那大概是疯了,上边是两个变量能穷举,这 5 个变量或者更多这一辈子也算不完。

所以除了穷举的方法,还有其他的方法去求 b 和

的值吗?

没错,就是 Gradient Descent (梯度下降),不管 w 有多少个都可以轻轻松松求出来,且听下篇文章。

总结

其实,步骤就是对现实就行抽象,找到影响预测的因素,找到一批数据,然后设计一个模型,利用数据对模型训练(求出最佳的 b 和

) ,然后进行测试,看结果的准确率是否能接受,然后再进行模型的修改,反反复复直到满意。

不如思考下课程中的例子股票预测,无人驾驶,购物推荐,找一下影响预测的因素是什么,理一理具体的过程。

原文发布于微信公众号 - AI极客研修站(WeaponZhi)

原文发表时间:2018-06-02

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏数据派THU

独家 | 如何利用大规模无监督数据建立高水平特征?

本文带你一窥Twitter整个产品链的构成,了解数据科学是怎样在各类型公司中发挥作用的。

1353
来自专栏量子位

深度学习在推荐系统上的应用

作者:陈仲铭 量子位 已获授权编辑发布 转载请联系原作者 深度学习最近大红大紫,深度学习的爆发使得人工智能进一步发展,阿里、腾讯、百度先后建立了自己的AI La...

3935
来自专栏CSDN技术头条

聚焦和增强卷积神经网络

卷积神经网络是一种主流的深度学习模型,它可以用神经网络模型来处理序列化的数据,比如文本、音频和视频数据。它能把一个序列浓缩为抽象的理解,以此来表示这个序列,乃至...

2215
来自专栏专知

【计算机视觉近一年进展综述】《A Year in Computer Vision》by The M Tank

【导读】计算机视觉近一年进展综述,本报告仅仅是为了简要的总结下2016近一年在计算机领域的一些重要进展。第一部分:分割/定位,目标检测,目标追踪。第二部分:分割...

7185
来自专栏大数据文摘

业界 | 从FM推演各深度CTR预估模型(附代码)

多年以后,当资深算法专家们看着无缝对接用户需求的广告收入节节攀升时,他们可能会想起自己之前痛苦推导FM与深度学习公式的某个夜晚……

7710
来自专栏IT派

推荐|14种模型设计帮你改进你的卷积神经网络(CNN)!

如果你觉得好的话,不妨分享到朋友圈。 摘要: 这14 种原创设计模式可以帮助没有经验的研究者去尝试将深度学习与新应用结合,对于那些没有机器学习博士学位的人来说...

3606
来自专栏机器学习算法与Python学习

干货 | 8个方法解决90%的NLP问题

1463
来自专栏华章科技

大神Hinton的Capsule论文终于公开,神经网络迎来新探索

今年9月的一次大会上,大神Geoffrey Hinton再次号召展开一次AI革命。

933
来自专栏CSDN技术头条

解密最接近人脑的智能学习机器 ——深度学习及并行化实现

训练深层模型是长期以来的难题,近年来以层次化、逐层初始化为代表的一系列方法的提出给训练深层模型带来了希望,并在多个应用领域获得了成功。深层模型的并行化框架和训练...

2265
来自专栏人工智能头条

详细解读谷歌新模型 BERT 为什么嗨翻 AI 圈

今天带来的这篇文章,详细的讲解了 BERT 以及和其他模型之间的区别。由深思考人工智能(iDeepWise Artificial Intelligence)投稿...

2182

扫码关注云+社区

领取腾讯云代金券