Machine Learning
文章平均质量分 94
拾毅者
长期关注机器学习,数据挖掘和人工智能领域。
展开
-
机器学习-训练模型的保存与恢复(sklearn)
在做模型训练的时候,尤其是在训练集上做交叉验证,通常想要将模型保存下来,然后放到独立的测试集上测试,下面介绍的是Python中训练模型的保存和再使用。scikit-learn已经有了模型持久化的操作,导入joblib即可from sklearn.externals import joblib模型保存>>> os.chdir("workspace/model_save")>>> from sklea原创 2015-07-31 20:52:28 · 66076 阅读 · 24 评论 -
机器学习算法-K-means聚类
引文: k均值算法是一种聚类算法,所谓聚类,他是一种无监督学习,将相似的对象归到同一个蔟中。蔟内的对象越相似,聚类的效果越好。聚类和分类最大的不同在于,分类的目标事先已知,而聚类则不一样。因为其产生的结果和分类相同,而只是类别没有预先定义。算法的目的: 使各个样本与所在类均值的误差平方和达到最小(这也是评价K-means算法最后聚类效果的评价标准)K-均值聚类优点:容易实现缺点:可能收敛到局部最原创 2015-06-03 12:30:14 · 3403 阅读 · 1 评论 -
机器学习数据集-MNIST
介绍在学习机器学习的时候,首当其冲的就是准备一份通用的数据集,方便与其他的算法进行比较。在这里,我写了一个用于加载MNIST数据集的方法,并将其进行封装,主要用于将MNIST数据集转换成numpy.array()格式的训练数据。直接下面看下面的代码吧(主要还是如何用python去读取binnary file)!MNIST数据集原网址:http://yann.lecun.com/exdb/mnist/原创 2016-02-25 18:46:04 · 19392 阅读 · 5 评论 -
机器学习算法选择
本文主要回顾下几个常用算法的适应场景和优缺点!对于你的分类问题,你知道应该如何选择哪一个机器学习算法么?当然,如果你真的在乎精度(accuracy),最好的方法就是通过交叉验证(cross-validation)对各个算法一个个地进行测试,进行比较,然后调整参数确保每个算法达到最优解,最后选择最好的一个。但是如果你只是在寻找一个“good enough”的算法来解决你的问题,或者这里有些技巧可以参考原创 2016-02-26 20:40:04 · 3184 阅读 · 2 评论 -
机器学习算法代码汇总(Python&R)
【机器学习算法代码汇总-Python&R】- PDF文件下载.原文链接:点击这里.原创 2015-11-21 19:23:59 · 2894 阅读 · 1 评论 -
机器学习算法-决策树理论
用较少的东西,同样可以做好的事情。越是小的决策树,越优于大的决策树。引文数据分类是一个两阶段过程,包括学习阶段(构建分类模型)和分类阶段(使用模型预测给定数据的类标号)。决策树分类算法是监督学习的一种,即Supervised learning。分类过程的第一阶段也可以看做学习一个映射或函数y=f(x),它可以预测给定元组X的类标号y。在第二阶段,使用模型进行分类。首先评估分类器的预测准确率。这个原创 2015-09-21 08:04:22 · 3592 阅读 · 0 评论 -
机器学习之特征工程
本文是一篇关于特征工程的总结类文章,如有不足之处或理解有偏差的地方,还望大家多多指点。首先,给一张特征工程的思维导图: 【如果要浏览图片,建议将其下载到本地,使用图片浏览软件查看】 关于特征工程(Feature Engineering),已经是很古老很常见的话题了,坊间常说:“数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限而已”。由此可见,特征工程在机器学习中占有相当重要的地位原创 2015-10-25 12:49:28 · 36698 阅读 · 7 评论 -
Scikit-learn Preprocessing 预处理
本文主要是对照scikit-learn的preprocessing章节结合代码简单的回顾下预处理技术的几种方法,主要包括标准化、数据最大最小缩放处理、正则化、特征二值化和数据缺失值处理。内容比较简单,仅供参考!首先来回顾一下下面要用到的基本知识。一、知识回顾均值公式:x¯=1nΣ_i=1nxi\bar{x}=\frac{1}{n}\Sigma\_{i=1}^{n}x_{i}方差公式:s2=1nΣ_i原创 2015-10-25 20:50:05 · 46804 阅读 · 7 评论 -
机器学习相关文章翻译目录-CSDN云计算专栏发布
翻译文章2015-09-14 LSTM实现详解 2015-09-10 从零实现来理解机器学习算法:书籍推荐及障碍的克服 2015-09-10 深度学习:生成艺术的新范式与版权的烦恼 2015-09-09 推荐系统评价:NDCG方法概述 2015-08-31 机器学习开发者的现代化路径:不需要从统计学微积分开始 2015-08-27 基于Python的卷积神经网络和特征提取 2015-0原创 2015-09-16 16:26:03 · 1214 阅读 · 0 评论 -
分类之性能评估指标
本文主要介绍几种常用的分类评估指标,同时介绍如何绘制ROC曲线以及AUC值的便捷的计算方法。最后再附上一个绘制ROC曲线和计算AUC的源码实现。Precision和Recall首先我们来看看下面这个混淆矩阵: pred_label/true_label Positive Negative Positive TP FP Negtive FN TN如上表所示,行表示预原创 2016-03-12 22:06:10 · 11985 阅读 · 1 评论 -
机器学习算法-朴素贝叶斯Python实现
引文:前面提到的K最近邻算法和决策树算法,数据实例最终被明确的划分到某个分类中,下面介绍一种不能完全确定数据实例应该划分到哪个类别,或者说只能给数据实例属于给定分类的概率。基于贝叶斯决策理论的分类方法之朴素贝叶斯优点:在数据较少的情况下仍然有效,可以处理多类别问题缺点:对于输入数据的准备方式较为敏感 适用数据类型:标称型数据。朴素贝叶斯的一般过程收集数据:可以使用任何方式准备数据:需要数原创 2015-05-28 12:59:06 · 16046 阅读 · 1 评论 -
Adaboost - 新的角度理解权值更新策略
关于Adaboost,在先前的一篇文章里,也介绍过它的步骤与实现,但理论上的推导未曾涉及。虽然Adaboost算法思想通俗易懂,但权值更新公式的由来,想必并非人人皆知。本文着重于从理论层面进一步阐述Adaboost,最终推导出迭代时的样本权值更新公式。原创 2016-08-28 21:57:49 · 9998 阅读 · 0 评论 -
机器学习算法-Adaboost
本章内容组合相似的分类器来提高分类性能应用AdaBoost算法处理非均衡分类问题主题:利用AdaBoost元算法提高分类性能1.基于数据集多重抽样的分类器 - AdaBoost 优点 泛化错误率低,易编码,可以应用在大部分分类器上,无需参数调整 缺点 对离群点敏感 适合数据类型 数值型和标称型数据bagging:基于数据随机重抽样的分类器构建方法自举汇聚法(b原创 2015-07-05 19:14:42 · 5376 阅读 · 1 评论 -
机器学习算法-K最近邻从原理到实现(Python)
引文:决策树和基于规则的分类器都是积极学习方法(eager learner)的例子,因为一旦训练数据可用,他们就开始学习从输入属性到类标号的映射模型。一个相反的策略是推迟对训练数据的建模,直到需要分类测试样例时再进行。采用这种策略的技术被称为消极学习法(lazy learner)。最近邻分类器就是这样的一种方法。1.K最近邻分类器原理首先给出一张图,根据这张图来理解最近邻分类器,如下:原创 2015-10-04 17:20:16 · 11563 阅读 · 0 评论 -
机器学习-数据归一化方法
归一化方法有两种形式,一种是把数变为(0,1)之间的小数,一种是把有量纲表达式变为无量纲表达式。数据标准化(归一化)处理是数据挖掘的一项基础工作,不同评价指标往往具有不同的量纲和量纲单位,这样的情况会影响到数据分析的结果,为了消除指标之间的量纲影响,需要进行数据标准化处理,以解决数据指标之间的可比性。原始数据经过数据标准化处理后,各指标处于同一数量级,适合进行综合对比评价。下面是归一化和没原创 2015-11-15 21:23:18 · 4315 阅读 · 1 评论 -
机器学习-CrossValidation交叉验证Python实现
版权声明:本文为原创文章,转载请注明来源。1.原理1.1 概念交叉验证(Cross-validation)主要用于模型训练或建模应用中,如分类预测、PCR、PLS回归建模等。在给定的样本空间中,拿出大部分样本作为训练集来训练模型,剩余的小部分样本使用刚建立的模型进行预测,并求这小部分样本的预测误差或者预测精度,同时记录它们的加和平均值。这个过程迭代K次,即K折交叉。其中,把每个样本的预测误差平方加和原创 2015-07-28 19:34:40 · 87605 阅读 · 4 评论 -
机器学习-sklearn库的Cross Validation
一个Windows操作系统能够使用的pythonIDE winPython下载地址:WinPython_2.7传统的F-measure或平衡的F-score (F1 score)是精度和召回的调和平均值:F1=2precision∗recallprecision+recallF_1 = 2\dfrac{precision * recall}{precision + recall}1.Cross原创 2015-07-24 22:27:05 · 29143 阅读 · 1 评论 -
机器学习-组合算法总结
组合模型组合模型一般要比单个算法要好,下面简单的介绍下Bootstraping, Bagging, Boosting, AdaBoost, RandomForest 和Gradient boosting这些组合型算法.1.BootstrapingBootstraping: 名字来自成语“pull up by your own bootstraps”,意思就是依靠你自己的资源,称为自助法,它是一种有放原创 2015-07-24 22:23:17 · 3895 阅读 · 0 评论 -
机器学习scikit-learn入门教程
原文链接:http://scikit-learn.github.io/dev/tutorial/basic/tutorial.html章节内容在这个章节中,我们主要介绍关于scikit-learn机器学习词库,并且将给出一个学习样例。机器学习:问题设置通常,一个学习问题是通过一系列的n个样本数据来学习然后尝试预测未知数据的属性。如果每一个样本超过一个单一的数值,例如多维输入(也叫做多维数据),那么它翻译 2015-07-20 19:27:49 · 23071 阅读 · 1 评论 -
机器学习算法-决策树(续)Python实现
决策树算法的理论部分参考:决策树理论决策树算法实现一共分为以下几个部分:加载数据集部分熵的计算按照给定特征划分数据集根据信息增益的最大值的属性作为划分属性递归构建决策树样本的分类创建分支节点伪代码函数createBranch()如下所示:检测数据集的每个子项是否属于同一类: if so return 类标签; else 寻找划分数据集的最好特征原创 2015-05-25 08:18:26 · 8629 阅读 · 0 评论 -
机器学习-感知机perceptron
在机器学习中,感知机(perceptron)是二分类的线性分类模型,属于监督学习算法。输入为实例的特征向量,输出为实例的类别(取+1和-1)。感知机对应于输入空间中将实例划分为两类的分离超平面。感知机旨在求出该超平面,为求得超平面导入了基于误分类的损失函数,利用梯度下降法 对损失函数进行最优化(最优化)。感知机的学习算法具有简单而易于实现的优点,分为原始形式和对偶形式。感知机预测是用学习得到的感知机原创 2015-10-05 18:28:19 · 49721 阅读 · 15 评论 -
机器学习算法-梯度树提升GTB(GBRT)
Introduction决策树这种算法有着很多良好的特性,比如说训练时间复杂度较低,预测的过程比较快速,模型容易展示(容易将得到的决策树做成图片展示出来)等。但是同时,单决策树又有一些不好的地方,比如说容易over-fitting,虽然有一些方法,如剪枝可以减少这种情况,但是还是不太理想。模型组合(比如说有Boosting,Bagging等)与决策树相关的算法比较多,如randomForest、Ad原创 2015-08-29 11:11:35 · 27170 阅读 · 3 评论 -
Stanford机器学习[第一课]-机器学习的动机与应用
1.what is machine learning?机器学习的定义 Arthur Samuel (1959). Machine Learning: Field of study that gives computers the ability to learn without being explicitly programmed. Tom Mitchell (1998) Well-pose原创 2015-05-23 09:10:26 · 2580 阅读 · 1 评论 -
Stanford机器学习[第二课]-监督学习应用和梯度下降
说明:以下图片均来自课件PPT或学者笔记。简介:本课内容有自主推导、线性回归、梯度下降、组梯度下降、随机梯度下降、标准方程推导。本课内容讲起来不多,但是使用数学公式来推导的话有点让人难以理解,尤其是梯度下降那块。1.监督学习还是第一课的数据,住房面积和售价 通过数据可以得到这样一幅图 下面通过数学的方式描述这个问题。 x(i)x(i)表示输入变量,或者说是输入特征(featur原创 2015-05-23 09:43:24 · 1743 阅读 · 0 评论 -
Stanford机器学习[第三课]-欠拟合与过拟合
1.本次课程大纲局部加权回归: 线性回归的变化版本Probability interpretation:另一种可能的对于线性回归的解释Logistic回归: 基于2的一个分类算法感知器算法: 对于3的延伸,简要讲牛顿方法(用来对logistic进行拟合的算法,这节课没讲)2.过拟合与欠拟合的距离评估房子的价格,假设三种拟合算法: (1)X1=size, 拟合出一条线性曲线; (2)x原创 2015-05-29 19:56:09 · 2095 阅读 · 0 评论 -
Linux下libsvm的安装及简单练习
引文:经常在看paper的时候,就看到svm算法,但是要自己来写真的是难于上青天呀!所幸有一个libsvm的集成软件包给我们使用,这真的是太好了。下面简单介绍下怎么来使用它吧!LIBSVM是一个集成软件包,提供支持向量机分类(C-SVC,nu-SVC),回归(epsilon-SVR,nu-SVR)以及分布估计(one-class SVM).工具包支持多类分类问题。LIBSVM是台湾大学林智仁(Lin原创 2015-06-02 11:28:42 · 5685 阅读 · 0 评论 -
MatLab2012b/MatLab2013b 分类器大全(svm,knn,随机森林等)
train_data是训练特征数据, train_label是分类标签。Predict_label是预测的标签。MatLab训练数据, 得到语义标签向量 Scores(概率输出)。1.逻辑回归(多项式MultiNomial logistic Regression)Factor = mnrfit(train_data, train_label);Scores = mnrv转载 2015-04-07 19:02:20 · 1046 阅读 · 0 评论 -
如何向小白介绍何谓机器学习和数据挖掘?
如何向小白介绍何谓机器学习和数据挖掘?买回芒果他就懂了买芒果嘴馋的你想吃芒果了,于是你走到水果摊,挑了几个让老板过过秤,然后你再根据芒果的斤两付钱走人。显然,买芒果你当然是挑着最甜、最熟的来买(因为你是根据重量而不是质量来掏钱的)。怎么个挑法才靠谱呢?对了,你奶奶说过,金黄色的要比浅黄的更甜些。于是你就做了一个简单的规定:只挑金黄色的买,过磅、付钱、回家。就这么转载 2015-04-07 19:06:59 · 1139 阅读 · 0 评论 -
使用Weka进行数据挖掘
使用Weka进行数据挖掘1.简介数据挖掘、机器学习这些字眼,在一些人看来,是门槛很高的东西。诚然,如果做算法实现甚至算法优化,确实需要很多背景知识。但事实是,绝大多数数据挖掘工程师,不需要去做算法层面的东西。他们的精力,集中在特征提取,算法选择和参数调优上。那么,一个可以方便地提供这些功能的工具,便是十分必要的了。而weka,便是数据挖掘工具中的佼佼者。Weka的全名是怀卡托智能分原创 2015-04-17 10:04:43 · 8398 阅读 · 0 评论 -
机器学习算法-Apriori关联分析
引文: 学习一个算法,我们最关心的并不是算法本身,而是一个算法能够干什么,能应用到什么地方。很多的时候,我们都需要从大量数据中提取出有用的信息,从大规模数据中寻找物品间的隐含关系叫做关联分析(association analysis)或者关联规则学习(association rule learning)。比如在平时的购物中,那些商品一起捆绑购买销量会比较好,又比如购物商城中的那些推荐信息,都是根据用原创 2015-06-04 08:59:46 · 5351 阅读 · 1 评论 -
机器学习-生成学习算法
本课内容:生成学习算法的介绍;第一个典型的生成学习算法——高斯判别分析;生成学习算法与之前的判别学习算法的对比;朴素贝叶斯算法,Laplace平滑。1.生成学习算法学习算法分为两种:一种是判别学习算法(Discriminative Learning Algorithm),简称DLA,另一种是生成学习算法(Generative Learning Algorithm),简称GLA。DLADL原创 2015-05-31 15:32:46 · 3262 阅读 · 2 评论 -
机器学习-支持向量机
引文:自支持向量机SVM问世以来,就被推崇为最好的分类算法。神经网络算法也比较流行,但由于神经网络比较复杂,所以很多时候使用的并不是神经网络而是SVM。博主在看paper的时候,很多的paper用到的无非就是SVM,RM之类的。像Adaboost这中算法我还没看到论文里面用过,有时间自己去尝试下,看看效果如何。对于本章节,会分两个层次来讲线性可分线性不可分要明白什么是支持向量机 Support原创 2015-06-02 07:54:27 · 1827 阅读 · 0 评论 -
机器学习-朴素贝叶斯实例分析
引文:由于之前讲过了朴素贝叶斯的理论Stanford机器学习[第五讲]-生成学习算法第四部分,同时朴素贝叶斯的算法实现也讲过了,见机器学习算法-朴素贝叶斯Python实现。那么这节课打算讲解一下朴素贝叶斯算法的具体计算流程,通过一个具体的实例来讲解。PS:为了专注于某一个细节,本章节只抽取了视频的一部分来讲解,只讲解一个贝叶斯算法的计算流程,关于视频里面的具体内容请参考下面的视频链接。讲解的实例是一原创 2015-06-01 16:05:18 · 2833 阅读 · 0 评论 -
机器学习-牛顿方法&指数分布族&GLM
回头再温习一下Andrew Ng的机器学习视频课,顺便把没写完的笔记写完。本节内容牛顿方法指数分布族广义线性模型之前学习了梯度下降方法,关于梯度下降(gradient descent),这里简单的回顾下【参考感知机学习部分提到的梯度下降(gradient descent)】。在最小化损失函数时,采用的就是梯度下降的方法逐步逼近最优解,规则为θ:=θ−η∇θℓ(θ)\theta := \the原创 2015-10-06 13:31:26 · 11521 阅读 · 3 评论 -
机器学习—过拟合overfitting
今天在知乎上看到一个问题:人脑有海量的神经元(参数),为什么没有过拟合?面对各个网友的回答,突然发现自己对于过拟合的概念似乎理解的不是很透彻,或者说之前就没有完全理解透。其中有个人这么说“样本少feature多才overfitting”也有人提到看红框标注部分,也就是说样本多就不会发生过拟合么。先不管知乎这个问题了,为了搞清过拟合的概念,再次跑到wikipedia去搜寻答案。下面是wikipedia原创 2015-10-04 20:31:30 · 16342 阅读 · 1 评论 -
机器学习个人资料整理
学习机器学习也有很长一段时间了,前段时间在论文中应用了GTB(Gradient Tree Boosting)算法。在我的数据集上GTB的性能比随机森林要稍微强一点,整个实验做完之后,有许多东西都来不及及时整理,很多都遗忘了。打算接下来的时间里,好好整理下自己的学习资料,这份资料绝对不是一时半会就整理得完的,先开个头吧,以后会间断性更新该博文的。下面来做个资料整理吧。书籍推荐机器学习的书籍很多,下面推原创 2015-09-17 21:36:54 · 3859 阅读 · 6 评论 -
机器学习-统计学习方法概论
统计学习由监督学习(supervised learning)、非监督学习(unsupervised learning)、半监督学习(semi-supervised learning)和强化学习(reinforcement learning)组成。统计学习方法包括模型的假设空间、模型的选择准则以及模型学习的算法,称其为统计学习方法的三要素:模型(model)、策略(strategy)和算法(algor原创 2015-09-26 15:15:21 · 2035 阅读 · 0 评论 -
机器学习-模型评估和选择
评价分类器性能的度量分类器评估度量包括准确率(又称“识别率”)、敏感度(或称为召回率recall)、特效性、精度(precision)F1和FΒ。 度量 公式 准确率、识别率 TP+TNP+N\dfrac{TP+TN}{P+N} 错误率、识分类率 FP+FNP+N\dfrac{FP+FN}{P+N} 敏感度 TPP\dfrac{TP}{P} 特效性、真负例率 T原创 2015-05-18 09:07:55 · 3806 阅读 · 0 评论 -
数据挖掘书籍
Web数据挖掘http://book.douban.com/subject/3639345/集体智慧编程http://book.douban.com/subject/3288908/简单,有代码。这就是搜索引擎http://book.douban.com/subject/7006719/PageRank 和 Hub算法,讲得比较通俗,比较少使用公式。转载 2015-03-31 08:17:59 · 1220 阅读 · 0 评论