机器学习入门系列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
来代表不同的属性,比如战斗力用
输出就是进化后的CP值
三个步骤
上一篇提到了机器学习的三个步骤:
Step1.确定一组函数(Model)。
Step2.将训练集对函数集进行训练。
Step3.挑选出“最好”的函数
f∗
然后就可以使用
f∗
来对新的测试集进行检测。
Step1: Model
这个model 应该长什么样子呢,先写一个简单的:我们可以认为进化后的CP值
y
等于进化前的CP值
y=b+w⋅xcp(1−1)
w
和
可以有
这个函数集中可以有无限多的 function。所以我们用 y=b+w⋅xcp 代表这些 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值,
有了训练集,为了评价 function 的好坏,我们需要定义一个新的函数,称为 Loss function (损失函数),定义如下:
Loss function L :
input: a function, output: how bad it is
Loss function是比较特别的函数,是函数的函数,因为它的输入是一个函数,而输出是表示输入的函数有多不好。 可以写成下面这种形式:
损失函数是由一组参数 w和b决定的,所以可以说损失函数是在衡量一组参数的好坏。
这里用比较常见的定义形式:
L(f)=L(w,b)=∑n=110(ŷ n−(b+w⋅xncp))2(1−2)
将实际的数值 ŷ n 减去 估测的数值 b+w⋅xncp以上是关于机器学习入门系列02,Regression 回归:案例研究的主要内容,如果未能解决你的问题,请参考以下文章
机器学习入门系列06,Logistic Regression逻辑回归
从零单排入门机器学习:线性回归(linear regression)实践篇
第五十篇 入门机器学习——线性回归(Linear Regression)
机器学习系列-tensorflow-03-线性回归Linear Regression