文章目录
lhy机器学习笔记-4
深度学习三个步骤
神经网络 -> 模型评估 -> 选择最优函数
神经网络
神经网络可以有很多不同的连接方式,这样就会产生不同的结构(structure)
神经网络中的所有的 权重 和 偏置 构成了 神经网络的参数 θ
完全连接前反馈神经网络 FC
前馈(feedforward)也可以称为前向,从信号流向来理解就是输入信号进入网络后,信号流动是单向的,即信号从前一层流向后一层,一直到输出层,其中任意两层之间的连接并没有反馈(feedback),亦即信号没有从后一层又返回到前一层。
给定了一个网络结构,就定义了 一个 函数集(function set)
网络结构解析:(如上图)
输入层
隐含层(hidden layer)
输出层
前后两层之间的神经元是两两连接的 称为 全连接
Deep Learning 深度学习 Deep = Many hidden layers
矩阵运算
每一个隐含层的权重和偏置都用向量表示,w1、b1,w2、b2,…,wl、bl
整个神经网络运算就相当于一连串的矩阵运算
可以用GPU加速矩阵运算
神经网络中的隐含层 是 一组 特征提取器 替代 人工的特征工程操作
output layer 为 多类的分类器
例子:手写数字识别
需自己设计隐含层:layer的数目、每个layer中神经元的数量
模型评价
交叉熵(cross entropy)函数来对 y 和\hat{y} 的损失进行计算
调整参数,让交叉熵越小越好
total loss:
L = ∑ n = 1 N C n L = \sum_{n=1}^N C^n L=n=1∑NCn
寻找 网络 参数 θ* 使得total loss 最小
选取最优函数
寻找方法:Gradient Descent
backpropagation 反向传播: 一个有效的方法去在神经网络中的计算 dL/dw
普遍性原理:
对于任何一个连续的函数,都可以用足够多的隐藏层来表示。
Backpropagation
反向传播(Backpropagation)是一个比较有效率的算法,让你计算梯度(Gradient) 的向量(Vector)时,可以有效率的计算出来
数学原理:chain rule (链式法则)
算法共分两部分:forward pass 和 backward pass
- 损失函数(Loss function)是定义在单个训练样本上的,也就是就算一个样本的误差,比如我们想要分类,就是预测的类别和实际类别的区别,是一个样本的,用L表示。
- 代价函数(Cost function)是定义在整个训练集上面的,也就是所有样本的误差的总和的平均,也就是损失函数的总和的平均,有没有这个平均其实不会影响最后的参数的求解结果。
- 总体损失函数(Total loss function)是定义在整个训练集上面的,也就是所有样本的误差的总和。也就是平时我们反向传播需要最小化的值。
L ( θ ) = ∑ n = 1 N C n ( θ ) L(\theta) = \sum_{n=1}^N C^n(\theta) L(θ)=