适合神经网络学习的问题
- 实例是用很多“属性- 值”对表示的。要学习的目标函数是定义在可以用向量描述的实例之上的,向量由预先定义的特征组成,例如 ALVINN 例子中的像素值。这些输入属性之间可以高度相关,也可以相互独立。输入值可以是任何实数。
- 目标函数的输出可能是离散值、实数值或者由若干实数属性或离散属性组成的向量目标函数的输出可能是离散值、实数值或者由若干实数属性或离散属性组成的向量。例如,在 ALVINN 系统中输出的是 30 个属性的向量,每一个分量对应一个建议的驾驶方向。每个输出值是 0 和 1 之间的某个实数,对应于在预测相应驾驶方向时的置信度(confidence)。我们也可以训练一个单一网络,同时输出行驶方向和建议的加速度,这只要简单地把编码这两种输出预测的向量连接在一起就可以了。
- 训练数据可能包含错误。ANN 学习算法对于训练数据中的错误有非常好的鲁棒性。
- 可容忍长时间的训练。网络训练算法通常比像决策树学习这样的算法需要更长的训练时间。训练时间可能从几秒钟到几小时,这要看网络中权值的数量、要考虑的训练实例的数量、以及不同学习算法参数的设置等因素。
- 可能需要快速求出目标函数值。尽管 ANN 的学习时间相对较长,但对学习的网络求值,以便把网络应用到后续的实例,通常是非常快速的。例如,ALVINN 在车辆向前行驶时,每秒应用它的神经网络若干次,以不断地更新驾驶方向。
- 人类能否理解学到的目标函数是不重要的。神经网络方法学习到的权值经常是人类难以解释的。学到的神经网络比学到的规则难于传达给人类。
多层网络和反向传播算法
可微阈值单元
sigmoid
o=σ(w→⋅x→)
σ(y)=11+e−y
dσ(y)dy=σ