机器学习
文章平均质量分 67
海涛anywn
不忘初心 方得始终
展开
-
图像特征提取方法
HOG特征(1)主要思想: 在一副图像中,局部目标的表象和形状(appearance and shape)能够被梯度或边缘的方向密度分布很好地描述。(本质:梯度的统计信息,而梯度主要存在于边缘的地方)。(2)具体的实现方法是: 首先将图像分成小的连通区域,我们把它叫细胞单元。然后采集细胞单元中各像素点的梯度的或边缘的方向直方图。最后把这些直方图组合起来就原创 2016-04-15 20:09:41 · 1586 阅读 · 0 评论 -
特征选择方法总结
1、为什么要做特征选择在有限的样本数目下,用大量的特征来设计分类器计算开销太大而且分类性能差。2、特征选择的确切含义将高维空间的样本通过映射或者是变换的方式转换到低维空间,达到降维的目的,然后通过特征选取删选掉冗余和不相关的特征来进一步降维。3、特征选取的原则获取尽可能小的特征子集,不显著降低分类精度、不影响类分布以及特征子集应具有稳定适应性强等特点4、特征选择需要考虑的问原创 2016-04-21 22:20:11 · 12994 阅读 · 0 评论 -
朴素贝叶斯算法Python实现
# -*- coding: cp936 -*-#朴素贝叶斯分类器的实现#运行#reload(docclass)#c1=docclass.naivebayes(docclass.getwords)#docclass.sampletrain(c1)#c1.classify('quick rabbit',default='unknown')#构建训练样本def sampletrain(c原创 2016-04-22 16:25:48 · 1056 阅读 · 0 评论 -
学生宿舍分配方案优化
#Student Dorm Optimizationimport randomimport mathdorms = ['Zeus','Athena','Hercules','Bacchus','Pluto']prefs = [('Toby',('Bacchus','Hercules')),('Steve',('Zeus','Pluto')),('Andrea',('Andrea','Ze原创 2016-04-22 16:34:23 · 3655 阅读 · 3 评论 -
使用kNN算法预测价格
# -*- coding: cp936 -*-#使用kNN预测价格from random import random,randintimport mathdef wineprice(rating,age): peak_age=rating-50 price=rating/2 if age>peak_age: price=price*(5-(age原创 2016-04-22 16:44:51 · 2970 阅读 · 0 评论 -
基于协同过滤算法的推荐系统实现
# -*- coding: cp936 -*-#基于协同过滤的推荐系统critics={'Lisa Rose':{'Lady in the Water':2.5,'Snakes on a Plane':3.5,'Just My Luck':3.0, 'Superman Returns':3.5,'You,Me and Dupree':2.5,'The原创 2016-04-22 16:47:16 · 957 阅读 · 0 评论 -
kNN最近邻分类器
from numpy import *import operator#初始化数据集def createDataSet(): group = array([[1.0,0.9],[1.0,1.0],[0.1,0.1],[0.0,0.1]]) labels = ['A','A','B','B'] return group,labels#构建KNN分类器def kNNCl原创 2016-04-22 16:37:09 · 1165 阅读 · 0 评论 -
决策树分类器算法实现
# -*- coding: cp936 -*-#决策树分类器my_data=[['slashdot','USA','yes',18,'None'],['google','France','yes',23,'Premium'], ['digg','USA','yes',24,'Basic']]class decisionnode: def __init__(self原创 2016-04-22 18:08:43 · 720 阅读 · 0 评论 -
机器学习优化算法之EM算法
EM算法简介EM算法其实是一类算法的总称。EM算法分为E-Step和M-Step两步。EM算法的应用范围很广,基本机器学习需要迭代优化参数的模型在优化时都可以使用EM算法。EM算法的思想和过程E-Step:E的全称是Expectation,即期望的意思。E-step也是获取期望的过程。即根据现有的模型,计算各个观测数据输入到模型中的计算结果。这个过程称为期望值计算过程,即E过程。M原创 2016-07-13 09:05:53 · 7516 阅读 · 0 评论 -
bootstrap, boosting, bagging 几种方法的区别与联系
参考来源:http://blog.sina.com.cn/s/blog_4a0824490102vb2c.html==========================================================这两天在看关于boosting算法时,看到一篇不错的文章讲bootstrap, jackknife, bagging, boosting, random fore原创 2016-07-28 20:01:21 · 5358 阅读 · 0 评论 -
Word2vec 句向量模型PV-DM与PV-DBOW
参考原文:LE, Quoc V.; MIKOLOV, Tomas. Distributed representations of sentences and documents. arXiv preprint arXiv:1405.4053, 2014.这篇论文提出了一个使用Word2vec的原理创建句子的特征向量的方法,阅读需要先掌握Word2vec的相关知识,这里推荐一篇博文《Word转载 2016-08-24 11:38:27 · 12280 阅读 · 0 评论 -
CRF(条件随机场)
条件随机场跟隐式马可夫模型常被一起提及,条件随机场对于输入和输出的机率分布,没有如隐式马可夫模型那般强烈的假设存在。条件随机域(场)(conditional random fields,简称 CRF,或CRFs),是一种判别式概率模型,是随机场的一种,常用于标注或分析序列资料,如自然语言文字或是生物序列。如同马尔可夫随机场,条件随机场为具有无向的图模型,图中的顶点代表随机变量,顶点间的连线原创 2016-05-05 21:12:01 · 2456 阅读 · 0 评论 -
时间序列预测模型方法
简介时间序列预测法是一种历史资料延伸预测,也称历史引伸预测法。是以时间数列所能反映的社会经济现象的发展过程和规律性,进行引伸外推,预测其发展趋势的方法。时间序列,也叫时间数列、历史复数或动态数列。它是将某种统计指标的数值,按时间先后顺序排到所形成的数列。时间序列预测法就是通过编制和分析时间序列,根据时间序列所反映出来的发展过程、方向和趋势,进行类推或延伸,借以预测下一段时间或以后若干年内可原创 2016-04-21 13:46:36 · 30524 阅读 · 2 评论 -
深度学习之(DNN)深度神经网络
(DNN)深度神经网络 简介DNN是指深度神经网络。与RNN循环神经网络、CNN卷积神经网络的区别就是DNN特指全连接的神经元结构,并不包含卷积单元或是时间上的关联。 神经网络简史神经网络技术起源于上世纪五、六十年代,当时叫感知机(perceptron),拥有输入层、输出层和一个隐含层。输入的特征向量通过隐含层变换达到输出层,在输出层得到分类结果。但是,Rosenblatt原创 2016-05-03 21:42:32 · 64792 阅读 · 2 评论 -
四种聚类算法的比较
聚类分析是一种重要的人类行为,早在孩提时代,一个人就通过不断改进下意识中的聚类模式来学会如何区分猫狗、动物植物。目前在许多领域都得到了广泛的研究和成功的应用,如用于模式识别、数据分析、图像处理、市场研究、客户分割、Web文档分类等[1]。 聚类就是按照某个特定标准(如距离准则)把一个数据集分割成不同的类或簇,使得同一个簇内的数据对象的相似性尽可能大,同时不在同一个簇中的数据对象的差异性也尽可能转载 2016-04-15 21:41:54 · 21013 阅读 · 0 评论 -
机器学习方法总结
机器学习有很多算法可以实现,但每个算法的适用场景不同,并且对于不同的实际问题各有优劣。本文总结了几乎所有何以用来做机器学习的算法和优化方法。大类名称关键词有监督分类决策树信息增益分类回归树Gini指数,Χ2统计量,剪枝朴素贝叶斯非参数估计,原创 2016-04-17 15:06:59 · 3985 阅读 · 0 评论 -
SVM核函数总结
SVM引入核函数有两个方面的原因,一是为了更好的拟合数据,另一个重要的原因是实现数据的线性可分。由于一些数据集在低维空间是线性不可分的,SVM通过引入核函数实现了把特征集从低维空间到高维空间的映射。这样在高维空间就能把数据集表示成线性可分的了。核函数的本质就是一个转换函数,比如将一维的x通过核函数计算后扩展为3维的(x,x^2,x^3)。常用的核函数有:径向基核函数(高斯核函数),线性原创 2016-04-17 16:27:41 · 8910 阅读 · 1 评论 -
使用k近邻算法实现手写体识别
'''kNN: k Nearest NeighborsInput: inX: vector to compare to existing dataset (1xN) dataSet: size m data set of known vectors (NxM) labels: data set labels (1xM vector)原创 2016-05-12 17:42:01 · 1351 阅读 · 0 评论 -
特征提取与转换
特征提取与转换标准化(StandardScaler)标准化是指:对于训练集中的样本,基于列统计信息将数据除以方差或(且)者将数据减去其均值(结果是方差等于1,数据在0附近)。这是很常用的预处理步骤。例如,当所有的特征具有值为1的方差且/或值为0的均值时,SVM的径向基函数(RBF)核或者L1和L2正则化线性模型通常有更好的效果。标准化可以提升模型优化阶段的收敛速度,还可以避免方差很原创 2016-05-13 09:54:12 · 1033 阅读 · 0 评论 -
spark机器学习库指南[Spark 1.3.1版]
本文翻译自Spark官方文档:Machine Learning Library (MLlib) Guide ,代码示例以Python版为主,部分Python不支持的功能保留原理说明,代码示例略去,另外翻译的时候对部分概念做注解。[注:翻译是为了帮助自己更好地理解相关概念,英语OK的同学建议直接阅读英文原版]MLlib是Spark中可扩展的机器学习库,它由一系列机器学习算法和实用程序组成,包转载 2016-05-13 10:19:46 · 441 阅读 · 0 评论 -
word2vec简介
简介word2vec 是 Google 在 2013 年年中开源的一款将词表征为实数值向量的高效工具,采用的模型有 CBOW( Continuous Bag-Of-Words,即连续的词袋模型) 和 Skip-Gram 两种。 word2vec 代码链接为: https://code.google.com/p/word2vec/,遵循 Apache License 2.0 开源协议原创 2016-05-03 19:38:14 · 3165 阅读 · 1 评论 -
最大熵模型介绍及实现
转自:http://www.cnblogs.com/hexinuaa/p/3353479.htmlhttp://blog.csdn.net/hexinuaa/article/details/24711675统计建模方法是用来modeling随机过程行为的。在构造模型时,通常供我们使用的是随机过程的采样,也就是训练数据。这些样本所具有的知识(较少),事实上,不转载 2016-04-19 19:00:08 · 704 阅读 · 0 评论 -
使用K近邻算法实现手写体识别系统
目录1. 应用介绍 31.1实验环境介绍 31.2应用背景介绍 32. 数据来源及预处理 32.1数据来源及格式 32.2数据预处理 63. 算法设计与实现 73.1手写体识别系统算法实现过程 73.2 K近邻算法实现 73.3手写体识别系统实现 73.4算法改进与优化 84. 系统运行过程与结果展示81.应用介绍1.1实验环原创 2016-05-14 13:05:46 · 8693 阅读 · 3 评论 -
TF-IDF介绍及应用
TF-IDF基本概念TF-IDF(term frequency–inverse document frequency)是一种用于信息检索与数据挖掘的常用加权技术。TF指词频,IDF指逆向文件频率。主要用于评估某个字词对于一篇文章或一个语料库里的一篇文章的重要性。字词的重要性随着它在文件中出现的次数成正比增加,但同时会随着它在语料库中出现的频率成反比下降。TF-IDF加权的各种形式常被搜寻引原创 2016-05-03 20:13:10 · 4798 阅读 · 0 评论 -
python sklearn常用分类算法模型的调用
实现对'NB', 'KNN', 'LR', 'RF', 'DT', 'SVM','SVMCV', 'GBDT'模型的简单调用。# coding=gbkimport time from sklearn import metrics import pickle as pickle import pandas as pd # Multinomial Naive Bayes Cla原创 2017-03-27 15:19:30 · 15947 阅读 · 4 评论