Lecture3 神经网络学习

1.introduce

  当属性增多时,由于我们的特征可以取属性的多项式组合,代价将呈指数增长,很难计算。因此,我们需要一种合适的方法来解决特征变量过多的问题。

  由此我们从人的大脑与神经元开始,实验表明,人的大脑不同皮层均具有学习能力,并非仅仅能够完成本区域固定的任务。例如,将视觉信号接入听觉皮层,听觉皮层一样可以完成处理视觉信号的任务。神经元有一个轴突和若干树突。若干树突接受来此其他神经元的信号,本神经元处理后通过轴突发向其他神经元。由此,衍生出神经网络。

2. 神经网络

  整个神经网络分为:输入层,隐藏层,输出层。每一层接受从上一层传递的数据,并通过激活函数后传向下一层,最终得到输出结果。

  当神经网络进行多(n)分类任务时,其假设函数设置为n*1矩阵即可。

3.神经网络的简单举例

  我们举一个识别手写数字0-9的例子。在本例中,训练集有5000个样本,其中每张样本图片为一张20*20像素的灰度图像。神经网络共三层,分为输入层,隐藏层,输出层。输入层为400个节点,隐藏层25个节点(不包括偏置节点),输出层有9个输出节点。

  

z1 = [ones(size(X,1), 1), X] * Theta1';
a2 = sigmoid(z1);
z2 = [ones(size(a2,1), 1), a2] * Theta2';
a3 = sigmoid(z2);

[probability, p] = max(a3, [], 2);
原文地址:https://www.cnblogs.com/cs-zzc/p/11299783.html