exercise3

来源:互联网 发布:北京软件测试培训 编辑:程序博客网 时间:2024/06/09 21:23

这次练习的重点是多分类问题和神经网络的实现

randperm(n):随机打乱一个数字序列,结果是从1到n随机打乱得到的一个数字序列。

首先需要了解one VS all的核心思想和步骤。

这就是之前学习的线性拟合的升级版。

对于之前的线性拟合来说,指的是知道X和y,不断调整参数使得X向量经过计算可以得到对应的y。

这次的应用背景是对20X20的图片进行识别。所以每一个X向量共有401个属性(有一个属性衡为1)。

这里的all指的是10个数字(10变成0来处理)。one指的是每一个数字的识别。

所以问题就变成了先将这些数字分类为10类,分别得到theta。将这些theta整合在一个矩阵中。然后对于测试矩阵的X做相乘,会得到十维的一个向量,即y。每一个取值的含义都是区对应位置数字的可能性。所以找出可能性最大的 ,就是最后预估出来的数字。

当然,在这里没有什么新添加的代码。重要的是解决这个问题的思路。


第二部分就是一个简单的神经网络的模拟。

等到下一个习题中会有具体的神经网络的学习,在这里就是一个简单的热身。

源代码地址:

http://download.csdn.net/detail/yinyanting1/9906481

原创粉丝点击