一、举例引入
1. 股票预测
输入:股票起伏资料
输出:明天的道琼斯指数
2. 无人车
输入:传感器所获取的信息
输入:车辆控制操作(如方向盘左转50°)
3. 推荐系统
输入:使用者A 商品B
输出:购买可能性
4. 预测宝可梦的战斗力Combat Power
输入:一只宝可梦的相关信息(种类、生命值、进化前的CP值、重量)
输出:进化后的战斗力值
二、建模步骤
step 1. Model
首先,找一个函数集合(function set),比如我们可能认为
y
=
b
+
w
∗
x
y=b+w*x
y=b+w∗x
像这样形如***的模型叫线性模型,w和b是模型的参数,它们可以是任意数值,xi是x是一个属性/特征
step 2. Goodness of Function
收集数据找到较好的训练模型,对于一个监督学习任务,收集的数据包含输入和输出。
step 3. Best Function
定义一个Loss Function L L L
- 输入:a function
- 输出:how bad it is
- 可以理解为 L ( f ) = L ( w , b ) L(f)=L(w,b) L(f)=L(w,b)
从function set里挑选出最好(即让
L
L
L最小的function)
怎么找?——Gradient Descent(梯度下降)
L o s s F u n c t i o n : L ( w ) Loss Function: L(w) LossFunction:L(w)是 w w w的函数,找出一个 w w w使 L ( w ) L(w) L(w)最小,暴力方法是穷举,将负无穷到正无穷的数一个个代入,但是效率很低。
而梯度下降是随机选取一个初始的点 w 0 w^0 w0,计算 w = w 0 w=w^0 w=w0是 L L L对 w w w的微分(也即切线斜率)
- 计算结果为负,w应增加
- 计算结果为正,w应减小
如果有两个参数,分别计算 L L L对二者的偏微分。