手记

神经网络

Udacity
Machine Learning
Neural Networks


什么是 Neural Networks?

Perception:

如下图,Input Xi 乘以相应的权重 wi,然后求和得到 activation,再与 UNIT里的Theta ,大于等于这个阈值则 y=1,否则 y=0.

可以看到权重 wi 决定了最后的分类,下图就是 perception 达到的效果,它可以求出 halfplane 来把 (x1,x2) 分为两类。

Neural Network 可以表示 boolean function,

AND


OR


NOT

也就是可以用 perception 来表示 AND,OR,NOT,那么怎么用它来表示 anything。

XOR

XOR=OR-AND
所以要先把 AND 和 OR 都写在下面的表格里
先考虑 OR 的话,w1=1,w3=1,theta=1
但是 AND 对应的 w2 不能直接=-1,因为当 x1 和 x2 同时为 1 时,此时的值等于theta,就无法得到XOR的0了,所以 w2=-2.

我们希望建立一个 system,输入数据之后,就可以训练出 weights

为了训练出这些 weights,有两个规则:

  1. Perception Rules (Use threshold values)

  2. Gradient Descent/Delta Rules(Use unthreshold values)

1. Perception Rules

目标是要训练 weights,得到的 y 可以和 Threshold 比较进而归类,阈值 Theta 可以被换到表达式左边的权重里,所以右边是0


我们就是要通过改变 wi 来找到最优的权重,也就是要找到 delta wi,就可以找到 wi。


y 是实际值,y hat 是用 wi 计算出来的,二者相减的结果有下面四种可能,如果 y hat 是正确的,那就意味着 wi 不需要改变,但如果是错误的,比如 y=0,y hat=1,那说明 y hat 过大了,那么由 delta wi 的公式可以看出,xi 向负方向偏离太远,


不想让 y hat 过大或者过小,这个时候 learning rate 就起作用了,也就是可以在某个方向一点一点地走。


如果一个数据集可以找到线性的 half plane,那么 Perception Rule 就一定能找到这个平面。

需要一个算法 robust to non-linear separability,这个算法就是

2. Gradient Descent

为什么用 a,而不用 y hat,因为 y hat 不可导。

两个 Rules 的比较:


Sigmoid 是什么?

求导后的形式也很简单,


Back Propagation

信息是从前向后传,Error 从后向前回溯

其中的 Sigmoid Units 也可以换成其他可微的函数,
这个 Error function 可以有很多局部最优,但不一定是全局最优。


Negative Attributes:

更多的节点,更多的层,更大的权重,这三条会导致问题变得很复杂


每次引用一个新的 Supervised Learning Algorithm 时,就想想它的 Restriction Bias 和 Preference Bias。


Restriction Bias:

可以告诉你这个模型的 Representational Power

只要 Neural Networks 足够复杂,也就是有足够多的层和节点,就不会受到这些限制,但是问题是可能 Overfitting,为了解决过拟合问题,会加一些边界条件来限制层数和节点数,这时可以用 Cross Validation 来决定用多少层,每层多少个节点,何时停止。
not very restrictive in terms of their bias


我们不会选择最多的迭代次数,而是选择 Cross Validation Error 最小的点停止。


Preference Bias:

告诉你你将要用的算法,你为什么选择这个算法而不是别的。

到底是选择 Gradient Descent 还是 Back Propagation。
该如何初始化权重。简单,随机


小结

0人推荐
随时随地看视频
慕课网APP