训练:训练集—— >特征选取—— >训练—— >分类器 分类:新样本—— >特征选取—— >分类—— >判决
最初的数据挖掘分类应用大多都是在这些方法及基于内存基础 上所构造的算法。 目前数据挖掘方法都要求具有 基于外存以处理大规 模数据集合能力且具有可扩展能力 。
神经网络
神经网络是解决分类问题的一种行之有效的方法。 神经网络是一 组连接输入 /输出单元的系统,每个连接都与一个权值相对应,在将 简单的单元连接成较复杂的系统后, 通过并行运算实现其功能, 其中 系统的知识存储于网络结构和各单元之间的连接权中。在学习阶段, 通过调整神经网络的权值, 达到对输入样本的正确分类。 神经网络有 对噪声数据的高承受能力和对未经训练数据的模式分类能力。 神经网
络概括性强、分类精度高,可以实现有监督和无监督的分类任务, 所 以神
经网络在分类中应用非常广泛
在结构上,可以把一个神经网络划分为输入层、 输出层和隐含层 (见图4)。网络的每一个输入节点对应样本一个特征,而输出层节 点数可以等于类别数,也可以只有一个,(输入层的每个节点对应一 个个的预测变量。输出层的节点对应目标变量,可有多个)。在输入 层和输出层之间是隐含层(对神经网络使用者来说不可见),隐含层 的层数和每层节点的个数决定了神经网络的复杂度。
图4:—个神经元网络
除了输入层的节点,神经网络的每个节点都与很多它前面的节 点
(称为此节点的输入节点)连接在一起,每个连接对应一个权重 Wxy此节点的值就是通过它所有输入节点的值与对应连接权重乘积 的和作为一个函数的输入而得到,我们把这个函数称为活动函数或挤 压函数。如图5中节点4输出到节点6的值可通过如下计算得到:
W14节点1的值+W24节点2的值
神经网络的每个节点都可表示成预测变量(节点 1, 2)的值或 值的组合(节点3-6 )。注意节点6的值已经不再是节点1、2的线 性组合,因为数据在隐含层中传递时使用了活动函数。 实际上如果没 有活动函数的话,神经元网络就等价于一个线性回归函数, 如果此活 动函数是某种特定的非线性函数,那神经网络又等价于逻辑回归。
图5:带权重W紆的神经元网络
调整节点间连接的权重就是在建立 (也称训练)神经网络时要做 的工作。最早的也是最基本的权重调整方法是错误回馈法,
现在较新
的有变化坡度法、类牛顿法、Levenberg-Marquardt法、和遗传算法 等。无论采用那种训练方法,都需要有一些参数来控制训练的过程, 如防止训练过度和控制训练的速度。
决定神经网络拓扑结构(或体系结构)的是隐含层及其所含节 点的
个数,以及节点之间的连接方式。要从头开始设计一个神经网络, 必须要决定隐含层和节点的数目, 活动函数的形式,以及对权重做那 些等,当然如果采用成熟软件工具的话,他会帮你决定这些事情。 在诸多类型的神经
网络中,最常用的是前向传播式神经网络,也就是 我们前面图示中所描绘的那种。我们下面详细讨论一下,为讨论方便 假定只含有一层隐含节点。
可以认为错误回馈式训练法是变化坡度法的简化,其过程如下: 前向传播:数据从输入到输出的过程是一个从前向后的传播过 程,后一节点的值通过它前面相连的节点传过来,
然后把值按照各个
连接权重的大小加权输入活动函数再得到新的值, 进一步传播到下一 个节点。
回馈:当节点的输出值与我们预期的值不同,也就是发生错误时, 神经网络就要“学习”(从错误中学习)。我们可以把节点间连接 的权重看成后一节点对前一节点的“信任”
程度(他自己向下一节
点的输出更容易受他前面哪个节点输入的影响)。学习的方法是采用 惩罚的方法,过程如下:如果一节点输出发生错误,那么看它的错误 是受哪个(些)输入节点的影响而造成的,是不是他最信任的节点(权 重最高的节点)陷害了他(使他出错),如果是则要降低对他的信任 值(降低权重),惩罚他们,同时升高那些做出正确建议节点的信任 值。对那些收到惩罚的节点来说,他也需要用同样的方法来进一步惩 罚它前面的节点。就这样把惩罚一步步向前传播直到输入节点为止。
对训练集中的每一条记录都要重复这个步骤,用前向传播得到输 出值,如果发生错误,则用回馈法进行学习。当把训练集中的每一条 记录都运行过一遍之后,我们称完成一个训练周期。要完成神经网络 的训练可能需要很多个训练周期, 经常是几百个。 训练完成之后得到 的神经网络就是在通过训练集发现的模型, 描述了训练集中响应变量 受预测变量影响的变化规
律。
由于神经网络隐含层中的 可变参数太多 ,如果训练时间足够长的 话,神经网络很可能把训练集的所有细节信息都“记”下来, 而不是 建立一个忽略细节只具有规律性的模型,我们称这种情况为训练过 度。显然这种“模型”对训练集会有很高的准确率, 而一旦离开训练 集应用到其他数据, 很可能准确度急剧下降。 为了防止这种训练过度 的情况,我们必须知道在什么时候要停止训练。 在有些软件实现中会 在训练的同时用一个测试集来计算神经网络在此测试集上的正确率, 一旦这个正确率不再升高甚至开始下降时, 那么就认为现在神经网络 已经达到做好的状态了可以停止训练。
图 6 中的曲线可以帮我们理解为什么利用测试集能防止训练过 度的出现。在图中可以看到训练集和测试集的错误率在一开始都随着 训练周期的增加不断降低, 而测试集的错误率在达到一个谷底后反而 开始上升,我们认为这个开始上升的时刻就是应该停止训练的时刻。
9-\\ 4 a 4 些 I测试集错误 训练集错误
图6:神经刚络在训练周期増加时准确庫的变化情况
神经元网络和统计方法在本质上有很多差别。 神经网络的参数 可以比统计方法多很多。如图4中就有13个参数(9个权重和4个 条件)。由于参数如此之多,参数通过各种各样的组合方式来影 响输出结果,以至于很难对一个神经网络表示的模型做出直观的解 释。实际上神经网络也正是当作“黑盒”来用的, 不用去管“盒子” 里面是什么,只管用就行了。在大部分情况下,这种条件是可以 接受的。比如银行可能需要一个笔迹识别软件, 但他没必要知道为什 么这些线条组合在一起就是一个人的签名,而另外一个相似的则不 是。在很多复杂度很高的问题如化学试验、 机器人、金融市场的模拟、 和语言图像的识别,等领域神经网络都取得了很好的效果。
神经网络分类算法的重点是构造阈值逻辑单元,一个值逻辑单元 是一个对象,它可以输入一组加权系数的量, 对它们进行求和,如果
这个和达到或者超过了某个阈值,输出一个量。如有输入值 X1, X2, ..., Xn
和它们的权系数: W1, W2, ..., Wn ,求和计算出的
Xi*Wi ,产生了激发层 a = (X1 * W1)+(X2* W2)+...+(Xi * Wi)+...+ (Xn * Wn),其中Xi代表样本的不同特征,Wi是实时特征评估模型 中得到的权系数。
对于单输出型, 网络的每一个输入节点对应样本一个特征, 而输 出层节点只有一个, 为每个类建立一个这样的网络, 对每一类进行分 别训练, 将属于这一类的样本的期望输出设为 1,而把属于其他类的 样本的期望输出设为 0;在识别阶段,将未知类别的样本输入到每一 个网络,如果某个网络的输出接近 1(或大于某个阈值,比如 0.5 ) 则判断该样本属于这一类; 如果有多个网络的输出均大于阈值, 则或 者将类别判断为具有最大输出的那一类,或者做出拒绝。
神经网络的另一个优点是很容易在并行计算机上实现, 可以把他 的节点分配到不同的CPU上并行计算。
在使用神经网络时有几点需要注意:第一,神经网络很难解释, 目前还没有能对神经网络做出显而易见解释的方法学。
第二,神经网络会学习过度, 在训练神经网络时一定要恰当的使 用一些能严格衡量神经网络的方法, 如前面提到的测试集方法和交叉 验证法等。 这主要是由于神经网络太灵活、 可变参数太多, 如果给足 够的时间,他几乎可以“记住”任何事情。
第三,除非问题非常简单, 训练一个神经网络可能需要相当可观 的时间才能完成。 当然,一旦神经网络建立好了, 在用它做预测时运
行时还是很快的
第四,建立神经网络需要做的数据准备工作量很大。 一个很有误 导性的神话就是不管用什么数据神经网络都能很好的工作并做出准 确的预测。这是不确切的, 要想得到准确度高的模型必须认真的进行 数据清洗、整理、转换、选择等工作, 对任何数据挖掘技术都是这样, 神经网络尤其注重这一点。 比如神经网络要求所有的输入变量都必须 是 0-1 (或-1 -- +1 )之间的实数,因此像“地区”之类文本数据必 须先做必要的处理之后才能用作神经网络的输入。
神经网络是基于经验风险最小化原则的学习算法, 有一些固有的 缺陷,比如层数和神经元个数难以确定, 容易陷入局部极小, 还有过 学习现象,这些本身的缺陷在SVM算法、进化算法中可以得到很好的 解决。
在计算机科学中, 进化算法实质上是一种优化处理过程; 但这种 过程与传统的优化方法不同, 传统的优化方法都是用代价函数来衡量 动作的行为, 从而通过选择一个好的动作使操作的对象得到优化; 绝 大多数典型的优化方法是通过计算代价函数的梯度或高阶统计值进 行优化的, 一般情况下, 这类方法只能得到局部极优值, 并且容易受 到随机干扰的影响。 而进化的方法符合达尔文 “适者生存” 和随机信 息交换思想, 既消除解中不适应因素, 又利用了原有解中的知识, 且 不需要微分等高阶信息, 从而使优化过程加快, 最终获得全局极优解。 因此基于进化算法的神经网络正日益成为智能计算领域中研究的热 点,并在某些领域中得到了成功的应用。
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- awee.cn 版权所有 湘ICP备2023022495号-5
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务