Coursera-吴恩达-机器学习-(编程练习3)Neural Networks & Multi-class(对应第4周课程)
此系列为 Coursera 网站Andrew Ng机器学习课程个人学习笔记(仅供参考)
课程网址:https://www.coursera.org/learn/machine-learning
exercise 3 —— multi-class neural networks
目录
作业介绍
在此下载第3次编程练习
在此下载Coursera-吴恩达-机器学习-全部编程练习答案
在这个练习中,你将实现一对多逻辑回归和神经网络来识别手写数字。
下面是各个文件的作用
ex3.m - Octave / MATLAB脚本,指导您完成第1部分
ex3 nn.m - Octave / MATLAB脚本,指导您完成第2部分
ex3data1.mat - 手写数字的训练集
ex3weights.mat - 神经网络练习的初始权重
submit.m - 提交您的解决方案到我们的服务器的提交脚本
displayData.m - 帮助可视化数据集的功能
fmincg.m - 函数最小化例程(类似于fminunc)
sigmoid.m - 乙状结肠功能
-lrCostFunction.m - Logistic回归成本函数
-oneVsAll.m - 训练一对多多分类器
-predictOneVsAll.m - 使用一个对所有多类分类器进行预测
-predict.m神经网络预测函数
1-1 多分类
对于这个练习,你将使用逻辑回归和神经网络来识别手写数字(从0到9)。
自动手写数字识别在今天被广泛使用,从识别邮件信封上的邮政编码(邮政编码)到识别银行支票上的金额。
在练习的第一部分,您将扩展先前的逻辑回归实现,并将其应用于“one-vs-all”分类。
最后精度Training Set Accuracy: 94.880000
1-2 神经网络
在本练习的前一部分中,您实现了多类逻辑回归来识别手写数字。 然而,逻辑回归不能形成更复杂的假设,因为它只是一个线性分类器。
在练习的这一部分,您将实现一个神经网络,使用与之前相同的训练集来识别手写数字。 神经网络将能够表示形成非线性假设的复杂模型。 本周,您将使用我们已经训练过的神经网络的参数。 您的目标是实现前馈传播算法以使用我们的权重进行预测。 在下周的练习中,您将编写用于学习神经网络参数的反向传播算法。
提供的脚本ex3 nn.m将帮助您逐步完成此练习。
最终预测准确性:Training Set Accuracy: 97.520000