• 微博
  • 微信微信二维码

广东省人民政府首页  >  要闻动态  >  广东要闻

www.mp585.com_

来源: 南方日报网络版     时间:2019-11-16 14:17:38

www.mp585.com

学习新的领域首先要理解其中的基本概念,下面我们来了解下机器学习的Regression。

提纲写在前面Regression是什么一个Regression过程参考资料01—写在前面本篇是作为Machine Learning小白我所写的非专业的文章,仅供了解

想深入学习Machine Learning应该去看权威的资料,比如下面提及的一些资料(大学公开课、专业的论文等等)

这里会是我学习Machine Learning过程中的一些笔记内容整理,从中可以了解一些AI的知识,例如AI是什么、发展的情况以及Machine Learning大概的原理之类

02—Regression是什么回归(Regression)问题的要求是: 给定一个新的模式(Model),根据训练集推断它所对应的输出y(实数)是多少

关键点有两个,其一定义一个模式并通过训练集合推断出一个回归函数f(x),其二使用这个回归函数f(x)预测未知输入的输出数值

所以Regression模型的特点就是,Output a scalar(输出一个数值),举几个例子:预测明日沪深300的点数,f(各种新闻、当前的沪深大盘指数等等) = 明日沪深300的点数自动驾驶车辆, f(路况、车辆信息、各种信息) = 方向盘角度给用户推荐产品, f(使用者信息,商品信息) = 购买的可能性03—一个Regression过程下面通过一个生动的例子来举例说明Regression的过程,【预测宝可梦进化后的战斗力】,战斗力简写成CP

本来呢有很多更贴近生活的例子可以示范(房子价值的预测、天气预测等等),不过为了节省画图的时间,直接借用课程上【预测宝可梦战斗力】案例了

稍微介绍下背景吧:宝可梦是一种可多次进化后提升战斗力的物种,主要的属性有战斗力(CP)、种类(Species)、血量(HP)、重量(Weight)、身高(Height)

它是需要我们从它幼儿期开始培养,然后逐渐升级成战斗力不俗的帮手

游戏的设定就是强战斗力的搭档能取得好的成就,然后我们要追求更好的成就,为了达成这一目标,所以我们需要一双能发现有潜力宝可梦种子的眼睛

现在呢,我们就是要做一双【预测宝可梦进化后的战斗力】这样的“眼睛”

我们还是来温习下机器学习的三个步骤:Step1: Define a model, Step2: Goodness of function, Step3: Find "best" function.Step 1: Define a model (A set of model)首先基于我们对宝可梦的了解(一定领域知识),初步判断宝可梦进化后的战斗力和初始战斗力成正比,所以Function是这样的:w,b可以是各种各样的值:所以Model是:类似这种的叫做Linear model

以上可以看出,A model = A set of function = A set of parameters + factors,而factors需要我们去掌握一定的领域知识(Domain Knowledge)

Step 2: Goodness of function(Training data + Loss function)通过Step1,我们有了Model另外我们还需要训练集(Training Data),input=初始的CP值,output=成长后的CP值,这样的成对Input/Output真实数据若干,如下:如下训练集的分布情况:接下来引入Loss Function评判一个Function的好坏,Loss Function的输入是Model中的一个Function,输出是这个方法的好坏,所以Loss Function是Function的Function

对于一个训练数据的拟合好坏就是: 实际Output和预期Output之间的差距所以对于整个训练集的拟合好坏就是: Σ (实际Output和预期Output之间的差距),如下图:把f(x)替换掉,得到:Loss Function在给定训练集的L(w,b)越小,按理这个方法就拟合的越好,至少是在该训练集是拟合的最好的

所以接下来进入第三步,找最好的Function

Step 3: Find Best Function如上图,我们是想找出f * 函数(最好的Function),它满足L(f)最小,也就是找到一个Function满足【预测的输出值与实际值差距最小】

如何找到让L(w,b)最小这样的w,b呢?1 最直接的方法是暴力破解(Brute force),把Model中所有的Function拿过来算一算

当然实际情况中由于Model太大,成百万的Function、训练集也会是几百万以上,所以这样暴力破解的方式显然不太适用的

2 对于这样Linear Model的Loss Function可以使用线性代数的公式解出来,但实际情况中有很多问题不是Linear Regression,所以这个方法也不通用的

3 接下来要介绍的就是这样一种找最小Loss Function的通用方法,也就是梯度下降(Gradient Descent)

限于篇幅,本篇只简单介绍到这里,下一篇着重介绍Gradient Descent、存在的问题以及解决方案

03—参考资料http://speech.ee.ntu.edu.tw/~tlkagk/courses/ML_2017/Lecture/Regression.pdfhttp://speech.ee.ntu.edu.tw/~tlkagk/courses/ML_2017/Lecture/Linear%20Regression.mp4




相关文章

版权所有:57fak 粤ICP备05070829 网站标识码4400000131
主办:南方新闻网 协办:广东省经济和信息化委员会 承办:南方新闻网
建议使用1024×768分辨率 IE7.0以上版本浏览器