一:基本概念
机器学习:让机器具备一个找函数的能力
回归:假设要找的函数的输出是一个数值,一个 标量(scalar),找到这个函数的过程。
分类:准备好一些选项,这些选项称为类别(class),现在要找的函数的输出就是从设定 好的选项里面让机器选择一个当作输出,该任务称为分类。
结构化学习:叫机器产生有结构的东西的问题称为结构化学习
知识领域:通常一个模型的修改,往往来自于对这个问题的理解,即领域知识。
二:机器学习找函数的步骤
1.Function with unknown parameter写出带有未知参数的函数
例如: 示例以该式进行
x1是前一天的观看人数 y是当天的观看人数 均为已知
w 称为权重(weight),b 称为偏置(bias)
2.Define Loss from Training Data
Loss:也是一个function 该函数的输入是由第一步找到的函数的未知参数 即为上式的b和w
训练数据:指的是将以往的数据进行带入 判断我们设立的未知参数对不对 将预估结果和真实结果进行一个比对 将预估结果和真实结果进行误差的计算统计 L即为统计和平均值 L和误差成正相关 带入不同的未知参数计算L 选取最适配的未知参数组合
3.最优化问题
使用梯度下降(gradient descent)
不断测试最后可能只达到Local minima 局部最小 实际上无法达到global minima全局最小
三:线性模型
概念:模型都是把输入的特征 x 乘上一 个权重,再加上一个偏置就得到预测的结果,这样的模型称为线性模型(linear model)。
但普通的线性模型(Linear Model)过于简单 我们需要复杂的函数 设置更有弹性的函数
因此引入分段线性曲线:常数项+一系列的Function
四:分段线性曲线
如上图所示 若要形成红色曲线 需要多个蓝色函数进行叠加 我们用Sigmoid函数来无限逼近蓝色函数
1.Sigmoid 函数的表达式为
其横轴输入是 x1,输出是 y,c 为常数。
如果 x1 的值,趋近于无穷大的时候,这一项就会消失,当 x1 非常大的时候, 这一条就会收敛在高度为 c 的地方。如果 x1 负的非常大的时候,分母的地方就会非常大,y 的值就会趋近于 0。
2.Hard Sigmoid
蓝色函数命名为Hard Sigmoid函数
3.使用Sigmoid函数来无限逼近Hard Sigmoid
调整函数表达式中的 b、w 和 c 可以制造各种不同形状的 Sigmoid 函数,用各种不同形状的 Sigmoid 函数去逼近 Hard Sigmoid 函数。
蓝色函数的表达式:y = cσ(b + wx1) 即为y = cSigmoid(b + wx1)
多个蓝色函数表达式相加来逼近红色函数 得到函数
该式仅用前一天的数值作为参数 若需要用多天数值作为参数则 函数变为
所有的未知的参数,一律统称 θ 进行未知参数对L的微分 得到
再进行参数的更新
五:模型变形
Hard Sigmoid 可以看作是两个修正线性单元(Rectified Linear Unit,ReLU)的加总,ReLU 的 图像有一个水平的线,走到某个地方有一个转折的点,变成一个斜坡,其对应的公式为 c ∗ max(0, b + wx1)
Sigmoid 或 ReLU 称为激活函数(activation function。继续改变模型不断的更新未知参数通过Sigmoid函数或者ReLU
Sigmoid 或 ReLU 称为神经元(neuron),很多的神经元称为神经网络 (neural network)。
在训练数 据和测试数据上的结果是不一致的,这种情况称为过拟合(overfitting)。