您的位置:首页 > 编程语言

Coursera-吴恩达-机器学习-(编程练习3)Neural Networks & Multi-class(对应第4周课程)

2018-01-14 17:03 851 查看
此系列为 Coursera 网站Andrew Ng机器学习课程个人学习笔记(仅供参考)

课程网址:https://www.coursera.org/learn/machine-learning

exercise 3 —— multi-class neural networks

目录

exercise 3 multi-class neural networks

目录

作业介绍

1-1 多分类

1-2 神经网络

作业介绍

在此下载第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



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐