机器学习(二)-kNN手写数字识别】的更多相关文章

一.kNN算法是机器学习的入门算法,其中不涉及训练,主要思想是计算待测点和参照点的距离,选取距离较近的参照点的类别作为待测点的的类别. 1,距离可以是欧式距离,夹角余弦距离等等. 2,k值不能选择太大或太小,k值含义,是最后选取距离最近的前k个参照点的类标,统计次数最多的记为待测点类标. 二.关于kNN实现手写数字识别 1,手写数字训练集测试集的数据格式,本篇文章说明的是<机器学习实战>书提供的文件,将所有数字已经转化成32*32灰度矩阵. 三.代码结构构成 1,data_Prepare.py…
引言 上一篇博客整理了一下SVM分类算法的基本理论问题,它分类的基本思想是利用最大间隔进行分类,处理非线性问题是通过核函数将特征向量映射到高维空间,从而变成线性可分的,但是运算却是在低维空间运行的.考虑到数据中可能存在噪音,还引入了松弛变量. 理论是抽象的,问题是具体的.站在岸上学不会游泳,光看着梨子不可能知道梨子的滋味.本篇博客就是用SVM分类算法解决一个经典的机器学习问题--手写数字识别.体会一下SVM算法的具体过程,理理它的一般性的思路. 问题的提出 人类视觉系统是世界上众多的奇迹之一.看…
手写数字识别是机器学习里面的一个经典问题,今天就这一段时间学习的机器学习,花一个下午茶的时间,试试机器学习. 首先数据库是在MNIST(http://yann.lecun.com/exdb/mnist/)下载下来的.下载下来的数据如下图所示.官方有给出数据怎么读取,我自己没有仔细看,因为我看到网上有人公布代码如何读取. 可以看到前四个是测试数据,后四个是训练数据. 这里我用matlab尝试读取这些数据. 首先看两个function. loadMNISTImages.m function imag…
文章目录 加载package read data PCA 降维探索 选择50维度, 拆分数据为训练集,测试机 KNN PCA降维和K值筛选 分析k & 维度 vs 精度 预测 生成提交文件 本文采用PCA+KNN的方法进行kaggle手写数字识别,训练数据共有42000行,每行代表一幅数字图片,共有784列(一副数字图像是28*28像素,将一副图像展开为一行即784),更多关于Digit Recognizer项目的介绍https://www.kaggle.com/c/digit-recogniz…
这里我们讲一下使用HOG的方法进行手写数字识别: 首先把 代码分享出来: hog1.m function B = hog1(A) %A是28*28的 B=[]; [x,y] = size(A); %外圈补0 A(:,y+) = ; A(x+,:) = ; :x deltax(:,i)=A(:,i+)-A(:,i); end :y deltay(i,:)=A(i+,:)-A(i,:); end : : Px=deltax(i*-:i*+,j*-:j*+); Py=deltay(i*-:i*+,j*…
# 导包 import numpy as np import matplotlib.pyplot as plt from sklearn.neighbors import KNeighborsClassifier # 获取数据 feature = [] target = [] for i in range(10): for j in range(1,501): img_arr = plt.imread('F:/data/%d/%d_%d.bmp'%(i,i,j)) feature.append(…
import numpy as np import matplotlib .pyplot as plt from sklearn.neighbors import KNeighborsClassifier 读取样本数据,图片 样本数据的提取 特征:每一张图片对应的numpy数组 目标:0,1,2,3,4,5,6,7,8,9 feature = [] target = [] for i in range(10):#i:0-9表示的是文件夹的名称 for j in range(1,501):#j:1…
1. 什么是KNN 1.1 KNN的通俗解释 何谓K近邻算法,即K-Nearest Neighbor algorithm,简称KNN算法,单从名字来猜想,可以简单粗暴的认为是:K个最近的邻居,当K=1时,算法便成了最近邻算法,即寻找最近的那个邻居. 用官方的话来说,所谓K近邻算法,即是给定一个训练数据集,对新的输入实例,在训练数据集中找到与该实例最邻近的K个实例(也就是上面所说的K个邻居),这K个实例的多数属于某个类,就把该输入实例分类到这个类中. 如上图所示,有两类不同的样本数据,分别用蓝色的…
引言 这段时间来,看了西瓜书.蓝皮书,各种机器学习算法都有所了解,但在实践方面却缺乏相应的锻炼.于是我决定通过Kaggle这个平台来提升一下自己的应用能力,培养自己的数据分析能力. 我个人的计划是先从简单的数据集入手如手写数字识别.泰坦尼克号.房价预测,这些目前已经有丰富且成熟的方案可以参考,之后关注未来就业的方向如计算广告.点击率预测,有合适的时机,再与小伙伴一同参加线上比赛. 数据集 介绍 MNIST ("Modified National Institute of Standards an…
http://www.jianshu.com/p/4195577585e6 基于tensorflow的MNIST手写字识别(一)--白话卷积神经网络模型 基于tensorflow的MNIST手写数字识别(二)--入门篇 基于tensorflow的MNIST手写数字识别(三)--神经网络篇 一.本文的意义 因为谷歌官方其实已经写了MNIST入门和深入两篇教程了,那我写这些文章又是为什么呢,只是抄袭?那倒并不是,更准确的说应该是笔记吧,然后用更通俗的语言来解释,并且补充更多,官方文章中没有详细展开的…