什么是机器学习
机器学习可以看做是寻找一个函数。
函数的类别
根据输出结果的不同类型,机器学习的函数大致分为以下三种
1、Regression:函式输出结果为数值
2、Classification:从设定的选项中选出一个类别当做输出
机器学习的步骤
上图是机器学习训练的三个步骤
步骤1:找到一个含有未知参数的函数。
其中w和b为该函数中的未知参数,x为出入参数,y为输出参数。
步骤 2:定义一个 Loss(损失函数)
(y:模型的预测值 , :实际数据)
步骤3:模型最优化
采用gradient descent(梯度下降法)
首先随机找一个,计算该点的偏导数,导数大于0则w减小,导数小于0则w增大,最后根据学习率η计算出
以上是损失函数具有一个未知数的情况,当损失函数具有多个未知数时也同理。下面是两个未知数情况下的计算
1、随机选取初始值,
2、对损失函数进行微分计算
3、不断更新参数w和b,找到最好的参数值
步骤1:找到一个含有未知参数的函数。
线性模型太过简单,有很大的局限性,有很大的模型偏差,因此我们需要一个更复杂,更有弹性的含未知参数的函数。
上图中红色曲线可以看做是实际情况下的函数形式,蓝色曲线为机器预测数据时所要用到的函数。
可以看出,红线第一段=第0个函数+第1个函数
红线第二段=第0个函数+第1个函数+第2个函数
红线第二段=第0个函数+第1个函数+第2个函数+第3个函数
由此可知,所有的分段性线性曲线等于一个常数加一段函数,所有曲线都可这样仅此取得
这里蓝色函数通常用sigmoid function,其函数如下图所示。
红色曲线用sigmoid function得到如下图所示的新模型函数(含有三个未知参数c,b,w)
将上方式子写开得到如下
之后将r分别代入sigmoid function的到a
最后得到如下函数
由此我们得到了一个含有未知参数的函数
步骤 2:定义一个 Loss(损失函数)
上图损失函数中θ 表示函数的的全部变量:b, w, c。
损失函数定义中e有两种定义方法分别为MAE和MSE,下图是它们的函数式
步骤3:模型最优化
随意选取一组位置变量θ,计算gradient,更新参数, 计算平均损失函数,找出平均损失函数最小时未知参数的值。
当数据太大时,需要用到如下方法
将数据分为多个batch,将上一个batch学习得到的未知参数更新值带入到下一个batch中。
优化模型,做两次学习
将第一层的输出数据作为第二层的输入数据再次学习,如下图。
上图便是深度学习,其中神经网络由输入层,隐藏层和输出层构成,隐藏层中又包含多个神经元。
激活函数
下面我们对模型进行更多变形
将蓝色函数变为relu函数
一个sigmod可以由两个relu函数近似表示