文章目录

  • 前置章节
  • 数据载入
  • 数据可视化
  • 代价-梯度函数
  • 一对多完成多元分类
  • 预测

前置章节

二元分类问题的逻辑回归包含原理及实现。

这次做多元分类,目的是能够识别20×2020\times2020×20像素的手写体数字。

数据载入

来自MINST的手写数字数据库,矩阵X中是5000张图片的灰度构成的数据集,因为图片像素是20×20,所以矩阵每行有400个元素,为图片的灰度。y向量表明图片中的数字是什么,因为matlab数组下标从1开始,所以我们把数字0对应的数据映射到10上。

% Load saved matrices from file
load('ex3data1.mat');
% The matrices X and y will now be in your MATLAB environment

数据可视化

随机抽出几张图片瞅一瞅,吴恩达的代码没仔细研究,先放在这里:

function [h, display_array] = displayData(X, example_width)
%DISPLAYDATA Display 2D data in a nice grid
%   [h, display_array] = DISPLAYDATA(X, example_width) displays 2D data
%   stored in X in a nice grid. It returns the figure handle h and the
%   displayed array if requested.% Set example_width automatically if not passed in
if ~exist('example_width', 'var') || isempty(example_width) example_width = round(sqrt(size(X, 2)));
end% Gray Image
colormap(gray);% Compute rows, cols
[m n] = size(X);
example_height = (n / example_width);% Compute number of items to display
display_rows = floor(sqrt(m));
display_cols = ceil(m / display_rows);% Between images padding
pad = 1;% Setup blank display
display_array = - ones(pad + display_rows * (example_height + pad), ...pad + display_cols * (example_width + pad));% Copy each example into a patch on the display array
curr_ex = 1;
for j = 1:display_rowsfor i = 1:display_colsif curr_ex > m, break; end% Copy the patch% Get the max value of the patchmax_val = max(abs(X(curr_ex, :)));display_array(pad + (j - 1) * (example_height + pad) + (1:example_height), ...pad + (i - 1) * (example_width + pad) + (1:example_width)) = ...reshape(X(curr_ex, :), example_height, example_width) / max_val;curr_ex = curr_ex + 1;endif curr_ex > m, break; end
end% Display Image
h = imagesc(display_array, [-1 1]);% Do not show axis
axis image offdrawnow;end
m = size(X, 1);
% Randomly select 100 data points to display
rand_indices = randperm(m);
sel = X(rand_indices(1:100), :);
displayData(sel);

代价-梯度函数

ex3的意思是在ex2的基础上让代价-梯度函数向量化,即通过矩阵运算省略for循环,不过我已经在ex2搞定了

机器学习:使用matlab实现逻辑回归解决数字识别(多元分类)问题相关推荐

  1. 机器学习系列(1)_逻辑回归初步

    转载自: 机器学习系列(1)_逻辑回归初步 - 寒小阳 - 博客频道 - CSDN.NET http://blog.csdn.net/han_xiaoyang/article/details/4912 ...

  2. 降维后输入分类器分类时报错_逻辑回归解决多分类方法及其优缺点分析

    众所周知,逻辑回归常用于解决二分类任务,但是在工作/学习/项目中,我们也经常要解决多分类问题.本文总结了 3 种逻辑回归解决多分类的方法,并分析了他们的优缺点. 一.One-Vs-Rest 假设我们要 ...

  3. 机器学习笔记04:逻辑回归(Logistic regression)、分类(Classification)

    之前我们已经大概学习了用线性回归(Linear Regression)来解决一些预测问题,详见: 1.<机器学习笔记01:线性回归(Linear Regression)和梯度下降(Gradien ...

  4. 【机器学习入门】(9) 逻辑回归算法:原理、精确率、召回率、实例应用(癌症病例预测)附python完整代码和数据集

    各位同学好,今天我和大家分享一下python机器学习中的逻辑回归算法.内容主要有: (1) 算法原理:(2) 精确率和召回率:(3) 实例应用--癌症病例预测. 文末有数据集和python完整代码 1 ...

  5. 【机器学习】逻辑回归-基础认识与鸢尾花分类实操案例

    文章目录 前言 一.基本理解 二.数学原理 三.简单二元分类算法实现 四.实战案例 总结 前言 本文将会对逻辑回归的基础理解,数学原理,简单算法实现,鸢尾花分类问题实操案例去学习我们的逻辑回归. 一. ...

  6. 利用逻辑回归进行简单的人群分类解决广告推荐问题

    利用逻辑回归进行简单的人群分类解决广告推荐问题 参考文章: (1)利用逻辑回归进行简单的人群分类解决广告推荐问题 (2)https://www.cnblogs.com/songyifan427/p/1 ...

  7. Coursera公开课笔记: 斯坦福大学机器学习第六课“逻辑回归(Logistic Regression)”

    Coursera公开课笔记: 斯坦福大学机器学习第六课"逻辑回归(Logistic Regression)" 斯坦福大学机器学习第六课"逻辑回归"学习笔记,本次 ...

  8. Scikit-Learn 机器学习笔记 -- 线性回归、逻辑回归、softmax回归

    Scikit-Learn 机器学习笔记 – 线性回归.逻辑回归.softmax回归 参考文档: handson-ml import numpy as np from matplotlib import ...

  9. 斯坦福大学机器学习第四课“逻辑回归(Logistic Regression)”

    斯坦福大学机器学习第四课"逻辑回归(Logistic Regression)" 本次课程主要包括7部分: 1) Classification(分类) 2) Hypothesis R ...

  10. 【李宏毅机器学习】Logistic Regression 逻辑回归(p11) 学习笔记

    李宏毅机器学习学习笔记汇总 课程链接 文章目录 Logistic Regression Step 1: Function Set Step 2: Goodness of a Function Step ...

最新文章

  1. 转:软件设计漫谈之三:30分钟掌握面向对象类的设计原则
  2. 百度安全 Rust TrustZone SDK正式成为 Apache Teaclave 子项目
  3. e7xue.php漏洞_简要分析最近的dedecms通杀漏洞以及漏洞补丁的绕过
  4. 从零开始学springboot笔记(二)-Spring boot返回json数据(中文无乱码)
  5. [CocoaPods]常见问题
  6. 五个小例子教你搞懂 JavaScript 作用域问题
  7. C语言空指针NULL详解
  8. 从3000米高空,一跃而下…
  9. wireshark抓包怎么找访问网址
  10. 李占通他道出了我的心声
  11. 计算机制图和应用cad哪个好,cad制图笔记本电脑排行,cad制图用哪款笔记本电脑好...
  12. Easyui之datagrid修改
  13. Sliced Sprite
  14. 拜尔滤色拜尔滤色镜_如何在iPhone或iPad上启用滤色器以方便眼睛阅读
  15. mysql占用内存过高_MySQL内存消耗过高问题处理
  16. Item 2: Understand auto type deduction.
  17. 微观经济学知识点(九)
  18. mysql中的locate,MySQL LOCATE()用法及代码示例
  19. SpringAOP实现多数据源切换
  20. 【Navicat】Cannot load OCI DLL, 87

热门文章

  1. 数学分析 导数的四则运算法则及多个函数的推广
  2. 卡方分布的定义与概率密度的计算
  3. 微信AD密码输入显示服务器出错怎么回事呢,微信提示账户或密码错误,请重新输入,怎么办...
  4. 合并报表编制采用的理论_跟我一起学合并报表之——长期股权投资的抵消处理...
  5. 我在使用Spring Gateway时遇到的一些坑
  6. jquery的历史版本
  7. unable to apply changes:plugins App links assistant,firebase services won'
  8. Shp上传至Oracle Spatial
  9. OD调试器调试Delphi程序按钮事件断点方法
  10. c# 小写金额转大写