赞
踩
选择网络结构,即决定选择多少层以及决定每层分别有多少个单元。
第一层的单元数即训练集的特征数量。最后一层的单元数是训练集的结果的类的数量。
如果隐藏层数大于1,确保每个隐藏层的单元个数相同,通常情况下隐藏层单元的个数越多越好。
真正要决定的是隐藏层的层数和每个中间层的单元数。
训练神经网络:
通常需要把参数初始化为趋近于0的极小的值。当使用逻辑回归时,通常将参数初始化为0,但对于神经网络这个方法是不行的,若都初始化为0,那么第二层每个单元节点的值都会是相同的,若都初始化为同一个非零的数,结果也是一样的。所以每个参数要在0附近的正负值范围内随机选取。
从左向右进行计算,对于输入的任意 x ( i ) x^{(i)} x(i),计算出 h Θ ( x ( i ) ) h_{\Theta}(x^{(i)}) hΘ(x(i)) ,结果的形式是向量。
这样做的目的是,在实际运行过程中,代码可能存在很多 b u g bug bug, J ( Θ ) J(\Theta) J(Θ)的值虽然可能在减小,但最后得到的值可能存在极大的误差,采用梯度检测的方法可以减小这种错误的概率。需要注意,当检测完后,要把梯度检查的代码注释掉,这个检测操作是非常花费时间的。
需要注意的是,由于神经网络并不是一个线性的模型,其代价函数 J ( Θ ) J(\Theta) J(Θ) 是个非凹函数,所以我们使用梯度下降等方法得到的结果只是一个局部最优解,并不保证就是全局最优解。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。