神经元与大脑
神经元
图为一个带有sigmoid或logistic激活函数的人工神经元模型
x0:偏置单元(bias unit)/偏置神经元(bias neuron), 总等于1
神经网络
神经网络其实是一组神经元连接在一起的集合
假设函数
输入层(Input layer):第一层,输入特征x1,x2,x3
输出层(Out layer):最后一层,输入假设的最终结算结果
隐藏层(Hidden layer):中间层,即非输入非输出层
a^j_i:表示第 j 层第 i 个激活项,激活项指由一个具体神经元计算并输出的值
θ^j:权重矩阵,控制第j层到j+1层的映射,若第j层有s_j个单元,则矩阵的维度为s_(j+1)×s_j+1,称号后的+1是偏执单元导致
上表表示层,下标表示位置
向前传播
从输入单元的激活项开始,然后进行向前传播给隐藏层,计算隐藏层的激活项,然后继续向前传播,并计算输出层的激活项,这个依次计算激活项,从输入层到隐藏层,再到输出层的过程叫向前传播,下面是过程的向量化实现
神经网络可以看作一个多层逻辑回归,上层逻辑回归的结果当作特征进行下层逻辑回归
若没有输入特征X来训练逻辑回归,而是自己训练逻辑回归的输入a_2(以图中模型为例),根据为θ_i选的不同参数,有时候可以学习到一些有趣复杂的特征,从而得到一个更好的假设函数。
神经网络架构
架构是指不同神经元之的连接方式
例子与直观理解
逻辑函数
可改变参数大小实现不同的逻辑函数
与函数
或函数
非函数
同或
多元分类
手写数字
处理过程
代价函数
神经网络分类有二元分类与多元分类,主要区别在输出层的单元数
在神经网络中使用的代价函数是逻辑回归中使用代价函数的一般形式
k求和项是求k个输出单元之和
反向传播法
总结
Δ用来累加前面写好的偏导数项
D项算出来对应代价函数关于每个参数的偏导数,然后可用于梯度下降和其他高级优化算法
cost函数扮演一个类似方差的角色,可以近似当成神经网络输出值与实际值的方差
展开参数
梯度检测
θ为实数
通常用双侧差分,能得到更准确的结果
θ为向量
反向传播算法比梯度检验快很多,所以一旦验证前者是对的,应该在训练前关闭后者
初始随机化
全置0,则之后的隐藏层的特征会出现冗余计算的现象,因此要随机化,如下
这里的 ε 和梯度检测的 ε 没有任何关系
总结
选择网络结构
训练神经网络