机器学习入门系列02,Regression 回归:案例研究

Posted yofer张耀琦

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了机器学习入门系列02,Regression 回归:案例研究相关的知识,希望对你有一定的参考价值。

Gitbook整理地址:https://yoferzhang.gitbooks.io/machinelearningstudy/content/20170326ML02Regression.html

为什么要先进行案例研究?

没有比较好的数学基础,直接接触深度学习会非常抽象,所以这里我们先通过一个预测 Pokemon Go 的 Combat Power (CP) 值的案例,打开深度学习的大门。

Regression (回归)

应用举例(预测Pokemon Go 进化后的战斗力)

比如估计一只神奇宝贝进化后的 CP 值(战斗力)。
下面是一只妙蛙种子,可以进化为妙蛙草,现在的CP值是14,我们想估计进化后的CP值是多少;进化需要糖果,好处就是如果它进化后CP值不满意,那就不用浪费糖果来进化它了,可以选择性价比高的神奇宝贝。

输入用了一些不同的 x 来代表不同的属性,比如战斗力用 xcp 来表示,物种 xs 来表示…
输出就是进化后的CP值

三个步骤

上一篇提到了机器学习的三个步骤:
Step1.确定一组函数(Model)。
Step2.将训练集对函数集进行训练。
Step3.挑选出“最好”的函数 f
然后就可以使用 f 来对新的测试集进行检测。

Step1: Model

这个model 应该长什么样子呢,先写一个简单的:我们可以认为进化后的CP值 y 等于进化前的CP值 xcp 乘以一个参数 w 再加上一个参数 b

y=b+wxcp(11)

w b 是参数,可以是任何数值。

可以有

f1:y=10.0+9.0xcpf2:y=9.8+9.2xcpf3:y=0.81.2xcp

这个函数集中可以有无限多的 function。所以我们用 y=b+wxcp 代表这些 function 所成的集合。还有比如上面的 f3 ,明显是不正确的,因为CP值有个条件都是正的,那乘以 1.2 就变成负的了,所以我们接着就要根据训练集来找到,这个 function set 里面,哪个是合理的 function。

我们将式1-1 称作 Linear model, Linear model 形式为:

y=b+wixi

xi 就是神奇宝贝的各种不同的属性,身高、体重等等,我们将这些称之为 “feature(特征)”; wi 称为 weight(权重),b 称为 bias(偏差)。

Step2: 方程的好坏

现在就需要搜集训练集,这里的数据集是 Supervised 的,所以需要 function 的输入和输出(数值),举例抓了一只杰尼龟,进化前的CP值为612,用 x1 代表这只杰尼龟进化前的CP值,即用上标标示一个完整对象的编号;进化后的CP值为 979,用 ŷ 1 表示进化后的CP值,用 hat(字母头顶的上尖符号)来表示这是一个正确的值,是实际观察到function该有的输出。

下面我们来看真正的数据集(来源 Source: https://www.openintro.org/stat/data/?data=pokemon

来看10只神奇宝贝的真实数据, x 轴代表进化前的CP值,y 轴代表进化后的CP值。

有了训练集,为了评价 function 的好坏,我们需要定义一个新的函数,称为 Loss function (损失函数),定义如下:

Loss function L :

input: a function, output: how bad it is

Loss function是比较特别的函数,是函数的函数,因为它的输入是一个函数,而输出是表示输入的函数有多不好。 可以写成下面这种形式:

L(f)=L(w,b)

损失函数是由一组参数 w和b决定的,所以可以说损失函数是在衡量一组参数的好坏。

这里用比较常见的定义形式:

L(f)=L(w,b)=n=110(ŷ n(b+wxncp))2(12)

将实际的数值 ŷ n 减去 估测的数值 b+wxncp以上是关于机器学习入门系列02,Regression 回归:案例研究的主要内容,如果未能解决你的问题,请参考以下文章

机器学习入门系列06,Logistic Regression逻辑回归

从零单排入门机器学习:线性回归(linear regression)实践篇

第五十篇 入门机器学习——线性回归(Linear Regression)

机器学习系列-tensorflow-03-线性回归Linear Regression

机器学习方法:回归:线性回归Linear regression

吴恩达机器学习第三周:Logistic Regression逻辑回归