机器学习基础小总结

神经网络

  • 首先我这里所叙述的神经网络是按照(输入层-->隐藏层-->输出层)这样的结构的。
  1. 输入层我这里规定为第0层,隐藏层(可能包含多层,一般也包含多层,下面会画图标明),输出层。
  2. 画图表示一下
    机器学习基础小总结
  3. 下面通过逻辑回归来解释一下所需要用到的变量(这里需要解释一下的是逻辑回归可以说是单层神经网络,就是说直接从输入到输出,没有隐藏层,所以可以直接用a (即是该层的输出)来表示y hat(即是预测值))
    机器学习基础小总结
  4. 推导一下损失函数的由来
    机器学习基础小总结
  5. 除了损失函数之外,还需要了解一下成本函数,其实际上就是损失函数,不过他不是对单个样本,而是对所有样本的损失函数求平均。
    机器学习基础小总结
  6. 在开始梯度下降推导之前有必要说下神经网络的学习过程,后面会详细解释,这里只是先说简单的例子。
    根据上面写的逻辑回归的公式我们了解到,根据我们的输入,然后初始化参数,经过参数w,b与x的互动得到中间值z,再经过**函数,我们可以得到一个预测值y hat,这称为forward propagation(前向传播)。
    那反向传播呢,众所周知,我们学习的目的是让损失函数的值尽可能取极小值,这样我们的预测值就和真实值最接近,而且我们是通过调参来实现最优化的,所以我们找到损失函数L关于参数w或者b的函数,然后对其求导,求出其变化率,然后再乘以步长(这里我们称为学习率,因为他影响参数变化的快慢),这样就可以逐渐逼近极小值,直到变化率为0,我们知道此时是极值点。
    机器学习基础小总结
  7. 几种常见的**函数及其适用范围
    机器学习基础小总结
  8. 那我们为什么使用**函数呢?可以不嘛?
    答案肯定是要使用
    事实证明:如果没使用**函数,那么我们训练的模型的输出不过是输入特征的线性组合,如果是这样写有点唐突,下面举个例子
    机器学习基础小总结
  9. 神经网络梯度下降的一个过程
    如下图
    在图中输入变量进入第一层,得到一个输出结果(第一层的a),然后进入第二层,直到第L层输出,最后一层的a,即是y hat,此为forward propagation
    然后下去,推出第L层参数w和b的导数,继续往前走,直到推出第一层的参数w和b的导数,更新参数值,此为back propagation
    机器学习基础小总结
  10. 那么每一层的值是如何求解的呢?
    如下图
    机器学习基础小总结
    11.我们使用这些公式的时候,一般需要向量化,那么向量化的维度怎么计算呢?怎么直到自己写的维度是否正确呢?
    机器学习基础小总结
  • 还有关于人脸识别的部分;;;;;待更新!!!