接前面 https://www.cnblogs.com/Liuyt-61/p/11738399.html 回过头来看这张图,什么是机器学习?就是将训练数据集喂给机器学习算法,在上面kNN算法中就是将特征集X_train和Y_train传给机器学习算法,然后拟合(fit)出一个模型,然后输入样例到该模型进行预测(predict)输出结果. 而对于kNN来说,算法的模型其实就是自身的训练数据集,所以可以说kNN是一个不需要训练过程的算法. k近邻算法是非常特殊的,可以被认为是没有模型的算法 为了和其…
在opencv3.0中,提供了一个ml.cpp的文件,这里面全是机器学习的算法,共提供了这么几种: 1.正态贝叶斯:normal Bayessian classifier    我已在另外一篇博文中介绍过:在opencv3中实现机器学习之:利用正态贝叶斯分类 2.K最近邻:k nearest neighbors classifier 3.支持向量机:support vectors machine    请参考我的另外一篇博客:在opencv3中实现机器学习之:利用svm(支持向量机)分类 4.决…
手写数字digits分类,这可是深度学习算法的入门练习.而且还有专门的手写数字MINIST库.opencv提供了一张手写数字图片给我们,先来看看 这是一张密密麻麻的手写数字图:图片大小为1000*2000,有0-9的10个数字,每5行为一个数字,总共50行,共有5000个手写数字.在opencv3.0版本中,图片存放位置为 /opencv/sources/samples/data/digits.png 我们首先要做的,就是把这5000个手写数字,一个个截取出来,每个数字块大小为20*20.直接将…
不同于其它的机器学习模型,EM算法是一种非监督的学习算法,它的输入数据事先不需要进行标注.相反,该算法从给定的样本集中,能计算出高斯混和参数的最大似然估计.也能得到每个样本对应的标注值,类似于kmeans聚类(输入样本数据,输出样本数据的标注).实际上,高斯混和模型GMM和kmeans都是EM算法的应用. 在opencv3.0中,EM算法的函数是trainEM,函数原型为: bool trainEM(InputArray samples, OutputArray logLikelihoods=n…
一.Kmeans算法 kmeans算法又名k均值算法.其算法思想大致为:先从样本集中随机选取 kk 个样本作为簇中心,并计算所有样本与这 kk 个“簇中心”的距离,对于每一个样本,将其划分到与其距离最近的“簇中心”所在的簇中,对于新的簇计算各个簇的新的“簇中心”.  根据以上描述,我们大致可以猜测到实现kmeans算法的主要三点:  (1)簇个数 kk 的选择  (2)各个样本点到“簇中心”的距离  (3)根据新划分的簇,更新“簇中心” 算法过程如下: 参考资料:Kmeans算法理解及代码实现…
OCR (Optical Character Recognition,光学字符识别),我们这个练习就是对OCR英文字母进行识别.得到一张OCR图片后,提取出字符相关的ROI图像,并且大小归一化,整个图像的像素值序列可以直接作为特征.但直接将整个图像作为特征数据维度太高,计算量太大,所以也可以进行一些降维处理,减少输入的数据量. 处理过程一般这样:先对原图像进行裁剪,得到字符的ROI图像,二值化.然后将图像分块,统计每个小块中非0像素的个数,这样就形成了一个较小的矩阵,这矩阵就是新的特征了.ope…
基于实例的学习方法中,最近邻法和局部加权回归法用于逼近实值或离散目标函数,基于案例的推理已经被应用到很多任务中,比如,在咨询台上存储和复用过去的经验:根据以前的法律案件进行推理:通过复用以前求解的问题的相关部分来解决复杂的调度问题.      基于实例方法的一个不足是,分类新实例的开销可能很大.这是因为几乎所有的计算都发生在分类时,而不是在第一次遇到训练样例时.所以,如何有效地索引训练样例,以减少查询时所需计算是一个重要的实践问题.此类方法的第二个不足是(尤其对于最近邻法),当从存储器中检索相似…
目录 5.3 使用LogisticRegressionCV进行正则化的 Logistic Regression 参数调优 一.Scikit Learn中有关logistics回归函数的介绍 1. 交叉验证 交叉验证用于评估模型性能和进行参数调优(模型选择).分类任务中交叉验证缺省是采用StratifiedKFold. sklearn.cross_validation.cross_val_score(estimator, X, y=None, scoring=None, cv=None, n_jo…
机器学习算法应用·KNN算法 一.问题描述 验证码目前在互联网上非常常见,从学校的教务系统到12306购票系统,充当着防火墙的功能.但是随着OCR技术的发展,验证码暴露出的安全问题越来越严峻.目前对验证码的识别已经有了许多方法,例如CNN,可以直接输入图片进行识别.验证码分为许多种类,本文以传统的字符验证码作为研究对象,进行图片分割成单一图片作为训练集,构架以测KNN,决策树或者朴素贝叶斯这三个算法为核心的验证码识别算法,进一步体会三个算法的特点. 二.数据准备 2.1数据说明 对于比较简单的字…
一.Scikit Learn中使用estimator三部曲 1. 构造estimator 2. 训练模型:fit 3. 利用模型进行预测:predict 二.模型评价 模型训练好后,度量模型拟合效果的常见准则有: 1.      均方误差(mean squared error,MSE): 2.      平均绝对误差(mean absolute error,MAE) 3.      R2 score:scikit learn线性回归模型的缺省评价准则,既考虑了预测值与真值之间的差异,也考虑了问题…