【神经网络和深度学习】学习笔记

来源:互联网 发布:网络新词汇2016加解释 编辑:程序博客网 时间:2024/05/02 18:16

神经网络基础

神经网络的计算过程中,通常有一个正向过程(正向传播步骤)计算成本函数,接着会有一个反向过程(反向传播步骤)计算导数。

1. 二分分类

对于二分分类问题,其目标是训练出一个分类器。它以特征向量x作为输入,预测输出的结果标签y(1或者0)。

用(x,y)表示一个单独的样本,其中,xRnxnx为特征值的个数,y{0,1}
训练集(training sets)由m个训练样本构成——

{(x(1),y(1)),(x(2),y(2)),...,(x(m),y(m))}

通常情况下,为了方便构建神经网络,输入x用矩阵表示为
X=[x(1)x(2)...x(m)]XRnxm
输出y也存放在列中,表示为矩阵
Y=[y(1),y(2),...,y(m)],YR1m

2. 逻辑回归

一种用在输出为0和1的二分分类问题的监督学习中的学习算法。其目标为最小化预测值与训练值之间的误差。

给出特征向量xRnx以及逻辑回归的参数wRnx和b,旨在得出一个预测值y^=wTx+by^是一个概率,y^=P(y=1|x))。为使0y^1,令y^=σwTx+b,其中,σ(z)=11+ez

给出{(x(1),y(1)),(x(2),y(2)),...,(x(m),y(m))},为了训练参数w和b,使得:y^(i)y(i),需要定义一个损失函数,且使得该损失函数最小。

2.1 Loss(Error)function

被用作衡量单个训练样本的误差。

L(yˆ,y)=[ylog(yˆ)+(1y)log(1yˆ)]

2.2 Cost function

计算整体训练集的平均损失。最终需要找到使J(w,b)最小的参数w和b。

J(w,b)=1mi=1mL(yˆ(i),y(i))=1mi=1m[y(i)log(yˆ(i))+(1y(i))log(1yˆ(i))]()

使得损失函数最小,获得回归系数的算法有:
- 梯度下降法
- 牛顿迭代算法
- 拟牛顿迭代算法(BFGS算法和L-BFGS算法)

2.3 梯度下降法

为得到最小的损失函数值,对w求偏导,并使其偏导为0,然后用随机梯度下降法求解方程组。梯度下降w的更新过程,走梯度方向的反方向:

θj:=θjαδJ(w)δw

α代表学习率,学习率可以控制每一次迭代或者梯度下降法中的步长。
其中:
δδwJ(w)=1mi=1m(y(i)1yˆ(i)δδwyˆ(i)(1y(i))11yˆ(i)δδwyˆ(i))

=1mi=1m(y(i)1yˆ(i)(1y(i))11yˆ(i))δδwσwTxi

=1mi=1m[y(i)1yˆ(i)(1y(i))11yˆ(i)]σ(wTxi)(1σ(wTxi))δδwjwTxi

=1mi=1m[y(i)(1σ(wTxi))(1y(i))σ(wTxi)]xij

=1mi=1m[y(i)σ(wTxi)]xij

=1mi=1m[yˆ(i)y(i)]xij

因此,
θj:=θjα1mi=1m[yˆ(i)y(i)]xij

2.4 向量化

阅读全文
0 0
原创粉丝点击