深度学习笔记

第一节课

1.机器学习模型,

就是为了使模型的输出结果与原结果的差距尽量小。算法

下图的公式中,L就表明损失函数。最后一项是正则项,能够防止过拟合。由于过拟合的状况下,参数的个数会比较多,而若是加上这个惩罚项,就能使不少参数值为0,这样,输入向量的不少维都由于不重要,而不在上面加入权重,从而防止过拟合。还能够按照下面的公式来理解:控制了w的大小,这样就能保证模型输出结果与原结果的差距,保持在一个可控的较低水平。机器学习

正则项这里,能够用参数的一范数或二范数来计算(固然前边要加上系数λ),分别称为L1, L2。函数

2.对于线性回归模型

目标函数就能够写成下面的形式,正则项用的L2。最后一个式子给出了参数最优解的计算方法。代价函数通常就是下面所示的均方偏差。学习

3.对于逻辑回归,

假设函数形式就是SIGMOD函数。代价函数通常采用下边的交叉熵函数(对数损失函数,与Ng视频描述的对比,其实都是同样的)。这样的损失函数,求导形式简单,适合用梯度降低等方法求解。这里使用L1范数正则项是想说明一下,若是用L1,算出来的最优化参数结果会有点麻烦。优化

其实softmax回归也和逻辑回归相似,只是将原来的二分类变成了多分类,假设函数稍稍变成了后面的图上所示的公式。3d

 

---------------------------------------------------------------------------------------------------------------------------------------------------------------------视频

 

4.梯度降低法

用来对不一样的损失函数求解,使其最小。J(θ)就是上面说的损失函数。blog

对于梯度降低法,有随机梯度降低(SGD),每次只选择一个样原本更新参数。批量梯度降低,每次选择全部的样本更新参数,若是样本数量多,更新时间会很长。折中的方法是mini-batch梯度降低,每次选择一部分样本更新参数,收敛速度比较快。it

5.对于误差和方差的理解

先用几个图来直观了解两个概念:io

preview

误差就是指预测值与真实值之间的误差,是与实际样本有关的。而方差仅仅描述预测值的离散程度,和实际样本无关。能够根据公式来推出,误差、方差和噪声的和,即为泛化偏差、

 

第二节课

1.感知机

以下图所示,很简单

2.多层感知机

多层感知机的表达能力很强。

3.激活函数

经常使用的有Sigmoid(0到1区间的)、Hyperbolic Tangent (tanh)(-1到1区间的)、Rectified Linear Unit (ReLU)(0,x区间的)、Softmax function(指数归一)等。

使用激活函数的缘由是由于线性模型(没法处理线性不可分的状况)的表达能力不够,因此这里一般须要加入 Sigmoid 函数来加入非线性因素获得神经元的输出值。

4.多层感知机,训练模型参数,BP算法

首先会在每层初始化权重。而后对于训练集的每一个输入x和输出y,算法都会先前向传播,获得预测值,而后根据真实值与预测值之间的偏差,反向传播,反馈更新权重。

隐藏层与输出层之间,能够利用链式求导法则和梯度降低法逐步更新参数。

而对于隐藏层之间的更新参数,