人在江湖

  BlogJava :: 首页 :: 联系 :: 聚合  :: 管理
  82 Posts :: 10 Stories :: 169 Comments :: 0 Trackbacks

神经网络模型特点:

训练模型的时间比较长;对于训练数据没涵盖到的数据,也有比较好的预测能力。相对于决策树,它处理连续型的输入输出能力比较好。神经网络模型不容易解释。

神经网络分三层,input layer, hidden layer和output layer. 理论上hidden layer可以有任意多层,在实际中,往往只有一层被使用。

对输入数据的每个属性进行标准化可以提高训练速度。对于连续型的属性,往往每个domain value一个input unit. 如果是classification,对于二值型的output, 可以用一个output unit(0,1)表示。如果有多个class, 每种class可以用一个output unit.

hidden layer里放多少unit往往是慢慢尝试出来的。

贴书上的图,看文字叙述很难懂,但是看一个具体的例子是怎么算的数就比较容易:

image

其中:image 是算某一个节点输入值的. Wij是权重值,每个节点的初始权重值是随机的,往往是-1到1或者-0.5到0.5,image 是Bias.

算某个节点的output,是这样算的:image , 这样可以得到一个0到1之间的数,range比较小。

神经网络的大致思路是,如果经过神经网络后预测的值不对,就返回来调整hidden layer units的权重,做错了事就回头反思一下,直到总做对事为止。

计算误差的方式,output layer:image  image

hidden layer:image ,其中Wjk是从j到下一层的k节点的权重。所以这个过程叫backpropagate.

backpropagate是为了修改权重和bias。

修改权重:

image

其中l叫learning rate, 通常是0到1之间的数。

修改bias:

image

神经网络结束调节可以有多种,比如image 足够小,或者misclassification足够小或者已经走过了预先设定那么多次的epochs

例子:

image

image

神经网络往往被批评可解释性不好,一种解释的方式是sensitivity analysis.就是x如果减5%,y会增加8%这种风格。

posted on 2011-09-25 23:29 人在江湖 阅读(2535) 评论(1)  编辑  收藏 所属分类: BI

Feedback

# re: 神经网络 2011-09-26 09:24 tb
有什么用吗   回复  更多评论
  


只有注册用户登录后才能发表评论。


网站导航: