【Machine Learning】笔记:神经网络的表示

来源:互联网 发布:linux嵌入式开发 编辑:程序博客网 时间:2024/06/11 14:46

整理自 Coursera 上 Andrew Ng 的公开课 Machine learning 第四周的课程。

为什么要用非线性分类器

有些问题中,特征数实在太多。
比如图像识别问题,哪怕是一张很小的 50x50 的图像,也有2500个像素点,更何况还有一些像素之间的联系等信息,如果全都用上,一般的分类器很难完成任务。
还有多项式回归的问题,当多项式次数很高时,特征数也可以非常多。
还有像“异或XOR”问题,线性分类器无法完成。
因此,很有必要使用非线性分类器。

神经网络模型

以下是一个简单的神经网络模型:
神经网络结构

有一些符号:

a(j)iΘ(j)="activation" of unit i in layer j=matrix of weights controlling function mapping from layer j to layer j+1

图中的数学关系如下:

a(2)1a(2)2a(2)3hΘ(x)=a(3)1=g(Θ(1)10x0+Θ(1)11x1+Θ(1)12x2+Θ(1)13x3)=g(Θ(1)20x0+Θ(1)21x1+Θ(1)22x2+Θ(1)23x3)=g(Θ(1)30x0+Θ(1)31x1+Θ(1)32x2+Θ(1)33x3)=g(Θ(2)10a(2)0+Θ(2)11a(2)1+Θ(2)12a(2)2+Θ(2)13a(2)3)

所以,Θ(1) 是一个 3x4 的矩阵,Θ(1) 是一个 1x4 的矩阵。

神经网络处理多分类任务

在处理多分类任务时,比如有 K 个分类,那么就把 y 定义为 K 维向量,对应第几个类别,就把第几个维度的值标为1,其它都是0,而 hΘ(x) 也一样。
比如输出结果是第三类:

hΘ(x)=0010

阅读全文
0 0
原创粉丝点击