斯坦福大学机器学习课程第三次编程作业,使用多分类的逻辑回归模型和神经网络模型进行手写数字识别。
关于数据集,手写数字识别是神经网络学习的入门级经典问题MNIST上有大量开源的手写数字数据集,可以用来训练模型。
1.数据可视化
将数据集中的一部分数据用图像的形式显示出来,便于理解和应用。
displayData函数的代码为:
function [h, display_array] = displayData(X, example_width)
if ~exist('example_width', 'var') || isempty(example_width)
example_width = round(sqrt(size(X, 2)));
end
colormap(gray);
[m n] = size(X);
example_height = (n / example_width);
display_rows = floor(sqrt(m));
display_cols = ceil(m / display_rows);
pad = 1;
display_array = - ones(pad + display_rows * (example_height + pad), ...
pad + display_cols * (example_width + pad));
curr_ex = 1;
for j = 1:display_rows
for i = 1:display_cols
if curr_ex &