机器学习
文章平均质量分 74
wtq1993
专注于机器学习,深度学习
展开
-
L2范数防止过拟合以及矩阵特征值分解的几何意义
1 L2惩罚项1.1 惩罚项 为了防止世界被破坏,为了维护世界的和平……不好意思,这篇一开头就荒腔走板!某些线性模型的代价函数包括惩罚项,我们从书本或者经验之谈中学习到惩罚项主要有两个作用:为了防止模型过拟合,为了维护模型的简洁性。常见的惩罚项有L0、L1和L2惩罚项,其中L0惩罚项为权值向量W中不为0的分量个数,L1惩罚项为权值向量W各分量的绝对值之和,这两个惩罚项皆可以很好地维持权值原创 2016-07-21 11:36:46 · 4192 阅读 · 0 评论 -
boosting与bagging理解
作为集成学习的二个方法,其实bagging和boosting的实现比较容易理解,但是理论证明比较费力。下面首先介绍这两种方法。所谓的集成学习,就是用多重或多个弱分类器结合为一个强分类器,从而达到提升分类方法效果。严格来说,集成学习并不算是一种分类器,而是一种分类器结合的方法。1.baggingbagging算是很基础的集成学习的方法,他的提出是为了增强分类器效果,但是在处理不平衡问题上原创 2016-04-23 20:24:34 · 3327 阅读 · 0 评论 -
机器学习--代码的终结者,我们很快就能像调教狗一样来调教我们的计算机
在发明计算机之前,大部分的实验心理学家都认为大脑是一个不可知的黑盒子。你可以分析一个实验对象的行为,例如,一旦听到铃铛想起,狗便会分泌唾液。但是思想、记忆和情绪这些东西该如何分析呢?这些东西比较神秘莫测,让人难以琢磨,超越了科学研究的范畴。所以这些行为学家们将他们的研究范围限定在刺激和反应、反馈和强化、铃铛声和分泌唾液的关系上面,他们没有去尝试了解心灵意识的内部工作机制,这种情况已经持续了大概 4转载 2016-05-30 19:45:23 · 2705 阅读 · 0 评论 -
L1 L2范式的详解以及Scikit-learn上基于L1 L2范式正则化的实例
本博文分为两部分,第一部分转自zouxy09的博客http://blog.csdn.net/zouxy09/article/details/24971995 形象的解释基于L1 L2范式的正则化,第二部分是我基于scikit-learn对L1 L2正则简单的应用例子一:L1 L2 正则化介绍监督机器学习问题无非就是“minimizeyour error while regulari原创 2016-05-31 16:31:01 · 15882 阅读 · 1 评论 -
scikit-learn进行模型参数的选择
这一节我们介绍以下几个内容:我们该怎样选择模型用于监督学习任务?我们该如何选择调整得到最好的模型参数?我们该如何对测试数据进行预测估计?1. 使用整个数据集进行训练和测试这里我们使用手中的整个数据集来训练模型使用同样的数据集来测试模型,然后评估预测的结果和真实结果的差别In [1]:from sklearn转载 2016-05-08 10:18:57 · 7283 阅读 · 0 评论 -
使用随机森林和mRMR进行特征选择
算法性能的好坏跟数据是密不可分的,因此找到一组更具代表性的特征子集显得更加重要。在实际项目中,因为有的特征对模型而言是冗余的,它对算法的性能会产生负面影响,此时就需要做特征选择。特征选择的目的就是从一组特征集合中去除冗余或不相关的特征从而达到降维的目的。说到降维,它不仅包括特征选择,还包括了特征提取,而本文主要介绍两种常用的特征选择方法。对于一个包含n个特征的特征集合,搜索空间高达2n−1原创 2016-05-30 19:03:04 · 19328 阅读 · 0 评论 -
MapReduce应用实例
1.各个部门的总工资如何进行问题分析的?2.各个部门的总工资处理流程是怎样的?3.个部门的人数和平均工资又是如何得到的?4.个部门的人数和平均工资代码如何实现?案例所用包全部下载:链接: http://pan.baidu.com/s/1sjNyDIX 密码:游客,如果您要查看本帖隐藏内容请回复1、环境说明部署节点操作系统为CentOS,防原创 2016-05-17 19:53:57 · 5917 阅读 · 10 评论 -
机器学习中三类参数估计的方法
本文主要介绍三类参数估计方法-最大似然估计MLE、最大后验概率估计MAP及贝叶斯估计。1、最大似然估计MLE首先回顾一下贝叶斯公式这个公式也称为逆概率公式,可以将后验概率转化为基于似然函数和先验概率的计算表达式,即最大似然估计就是要用似然函数取到最大值时的参数值作为估计值,似然函数可原创 2016-04-21 21:30:50 · 2142 阅读 · 0 评论 -
机器学习 数据预处理之独热编码(One-Hot Encoding)
机器学习 数据预处理之独热编码(One-Hot Encoding)问题由来在很多机器学习任务中,特征并不总是连续值,而有可能是分类值。例如,考虑一下的三个特征:["male", "female"]["from Europe", "from US", "from Asia"]["uses Firefox", "uses Chrome", "us转载 2016-05-05 17:39:21 · 7051 阅读 · 0 评论 -
pandas使用
本文是对pandas官方网站上《10Minutes to pandas》的一个简单的翻译,原文在这里。这篇文章是对pandas的一个简单的介绍,详细的介绍请参考:Cookbook 。习惯上,我们会按下面格式引入所需要的包:一、 创建对象可以通过Data Structure Intro Setion 来查看有关该节内容的详细信息。1、可以通过传递一个list对转载 2016-05-15 20:58:49 · 778 阅读 · 0 评论 -
机器学习竞赛技巧
Kaggle 是目前最大的 Data Scientist 聚集地。很多公司会拿出自家的数据并提供奖金,在 Kaggle 上组织数据竞赛。我最近完成了第一次比赛,在 2125 个参赛队伍中排名第 98 位(~ 5%)。因为是第一次参赛,所以对这个成绩我已经很满意了。在 Kaggle 上一次比赛的结果除了排名以外,还会显示的就是 Prize Winner,10% 或是 25% 这三档。所以刚刚接触原创 2016-05-15 20:56:54 · 24207 阅读 · 5 评论 -
TensorFlow简介
在一个完整的工业界语音识别系统里, 除了深度学习算法外,还有很多工作是专业领域相关的算法,以及海量数据收集和工程系统架构的搭建。 这两天发现朋友圈被Google开源深度学习系统TensorFlow的新闻刷屏了。这当然是一个很好的消息,尤其对我们这种用机器学习来解决实际问题的工程师来说更是如此。但同时很多人并不清楚听起来神乎其神的“TensorFlow”到底是什么,有什么意义。转载 2016-05-15 16:50:40 · 1226 阅读 · 0 评论 -
机器学习常见面试题
朴素贝叶斯参考[1]事件A和B同时发生的概率为在A发生的情况下发生B或者在B发生的情况下发生AP(A∩B)=P(A)∗P(B|A)=P(B)∗P(A|B)所以有:P(A|B)=P(B|A)∗P(A)P(B)对于给出的待分类项,求解在此项出现的条件下各个目标类别出现的概率,哪个原创 2016-05-14 22:02:43 · 3493 阅读 · 0 评论 -
ML数学之矩阵奇异值分解及其应用
PCA的实现一般有两种,一种是用特征值分解去实现的,一种是用奇异值分解去实现的。在上篇文章中便是基于特征值分解的一种解释。特征值和奇异值在大部分人的印象中,往往是停留在纯粹的数学计算中。而且线性代数或者矩阵论里面,也很少讲任何跟特征值与奇异值有关的应用背景。奇异值分解是一个有着很明显的物理意义的一种方法,它可以将一个比较复杂的矩阵用更小更简单的几个子矩阵的相乘来表示,这些小矩阵描述的是矩阵的重要的原创 2016-05-27 11:39:14 · 716 阅读 · 0 评论 -
神经网络Tips 和Tricks
神经网络层数ANN一般有三层或四层,包含一到两个隐含层。每层有10~1000个神经元。实验神经网络可能有5层甚至6层,包含3或4个隐含层,有数百万个神经元,但大多数实际应用仅有3层,因为每增加一层,计算量将呈呈指数级上升。隐藏层单元个数隐藏层单元个数是网络的一个超参数,它依赖于数据集。笼统地讲,数据集分布越复杂,那么网络需要有更强大的拟合能力,而网络的拟合能力是由隐藏层的单元个数决定的转载 2016-05-14 15:30:57 · 529 阅读 · 0 评论 -
RBM的形象理解
RBM受限波尔子慢机: 无监督的将数据从可视层抽象到隐藏层,将输入层的数据60维(每一唯是实数)抽象到隐藏层120维(每一维为0,1)。其实是将数据的信息量进行了压缩,分别将可视层与隐藏层的数据使用TSNE压缩到3维空间可视化,发现原数据集是聚集在一起的,经过RBM抽象后数据集分堆(拉近了相似的距离,变远了不相似的距离)的存在了。经过这样的抽象使得在接下来对数据分类时变得更加容易,这也就是RBM的原创 2016-05-19 11:25:08 · 612 阅读 · 0 评论 -
scikit出现Reshape your data either using X.reshape(-1, 1) if your
使用scikit 预测时出现reshape警告时classifier.fit(feature_vector, feature_label) for i in test_vector: print classifier.predict(i).将 i 使用resheap()得以解决问题,如下所示:classifier.fit(feature_vector, feature_labe原创 2016-05-08 22:29:38 · 9938 阅读 · 0 评论 -
流形学习-高维数据的降维与可视化
1.流形学习的概念流形学习方法(Manifold Learning),简称流形学习,自2000年在著名的科学杂志《Science》被首次提出以来,已成为信息科学领域的研究热点。在理论和应用上,流形学习方法都具有重要的研究意义。假设数据是均匀采样于一个高维欧氏空间中的低维流形,流形学习就是从高维采样数据中恢复低维流形结构,即找到高维空间中的低维流形,并求出相应的嵌入映射,以实现维数约简或者数转载 2016-05-19 16:38:51 · 3630 阅读 · 0 评论 -
神经网络Trick之DropConnect
和maxout(maxout简单理解)一样,DropConnect也是在ICML2013上发表的,同样也是为了提高Deep Network的泛化能力的,两者都号称是对Dropout(Dropout简单理解)的改进。 我们知道,Dropout是在训练过程中以一定概率1-p将隐含层节点的输出值清0,而用bp更新权值时,不再更新与该节点相连的权值。用公式描述如下: 其中v是n*1维转载 2016-06-23 21:46:53 · 1352 阅读 · 0 评论 -
神经网络的Trick之Dropout的理解与实现
Dropout是2012年深度学习视觉领域的开山之作paper:《ImageNet Classification with Deep Convolutional》所提到的算法,用于防止过拟合。在我刚入门深度学习,搞视觉的时候,就有所耳闻,当时只知道它是为了防止过拟合。记得以前啥也不懂,看到《ImageNet Classification with Deep Convolutional》的思路,然后转载 2016-06-23 21:27:35 · 8541 阅读 · 3 评论 -
交叉熵代价函数(cross-entropy cost function)
1.从方差代价函数说起代价函数经常用方差代价函数(即采用均方误差MSE),比如对于一个神经元(单输入单输出,sigmoid函数),定义其代价函数为: 其中y是我们期望的输出,a为神经元的实际输出【 a=σ(z), where z=wx+b 】。在训练神经网络过程中,我们通过梯度下降算法来更新w和b,因此需要计算代价函数对w和b的导数:然后更新w、b:w b 因为转载 2016-06-23 10:37:10 · 32550 阅读 · 7 评论 -
TensorFlow架构
TensorFlow又是好久没有写博客了,上班以来,感觉时间过得飞快,每天时间很紧,过得有点累,不知道自己的博客能坚持到何时,且行且珍惜。本片博文是参考文献[1]的阅读笔记,特此声明TensorFlow,以下简称TF,是Google去年发布的机器学习平台,发布以后由于其速度快,扩展性好,推广速度还是蛮快的。江湖上流传着Google的大战略,Android占领了移动端,TF占领神转载 2016-06-22 16:02:04 · 639 阅读 · 0 评论 -
对于张量的形象理解
作者:White Pillow链接:https://www.zhihu.com/question/23720923/answer/32739132来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。------------------------------Dan Fleisch是《AStudent’s Guide to Vectors a原创 2016-06-19 21:23:18 · 27675 阅读 · 6 评论 -
先验概率与后验概率以及贝叶斯公式
先验概率与后验概率事情还没有发生,要求这件事情发生的可能性的大小,是先验概率. 事情已经发生,要求这件事情发生的原因是由某个因素引起的可能性的大小,是后验概率.一、先验概率是指根据以往经验和分析得到的概率,如全概率公式,它往往作为“由因求果”问题中的“因”出现。后验概率是指在得到“结果”的信息后重新修正的概率,如贝叶斯公式中的,是“执果寻因”问题中的“因”。先验概率与后验概率有不可分割原创 2016-06-19 10:53:51 · 3500 阅读 · 0 评论 -
LSA潜在语义分析
在Wiki上看到的LSA的详细介绍,感觉挺好的,遂翻译过来,有翻译不对之处还望指教。原文地址:http://en.wikipedia.org/wiki/Latent_semantic_analysis前言浅层语义分析(LSA)是一种自然语言处理中用到的方法,其通过“矢量语义空间”来提取文档与词中的“概念”,进而分析文档与词之间的关系。LSA的基本假设是,如果两个词多次出转载 2016-06-18 21:20:52 · 1136 阅读 · 0 评论 -
常见面试之机器学习算法思想简单梳理
找工作时(IT行业),除了常见的软件开发以外,机器学习岗位也可以当作是一个选择,不少计算机方向的研究生都会接触这个,如果你的研究方向是机器学习/数据挖掘之类,且又对其非常感兴趣的话,可以考虑考虑该岗位,毕竟在机器智能没达到人类水平之前,机器学习可以作为一种重要手段,而随着科技的不断发展,相信这方面的人才需求也会越来越大。 纵观IT行业的招聘岗位,机器学习之类的岗位还是挺少的,国内大点的公转载 2016-07-03 11:21:05 · 960 阅读 · 0 评论 -
LDA主题模型
理解LDA,可以分为下述4个步骤:一个函数:gamma函数,两个分布:beta分布、Dirichlet分布,一个模型:LDA(文档-主题,主题-词语),一个采样:Gibbs采样本文便按照上述4个步骤来阐述,希望读者看完本文后,能对LDA有个尽量清晰完整的了解。并且,本文基于 邹博讲LDA的PPT 、rickjin的LDA数学八卦 以及其它参考资料写就,可以定义为一篇 学习笔记 ,若转载 2016-06-16 09:03:56 · 1091 阅读 · 0 评论 -
各种优化方法总结比较(sgd/momentum/Nesterov/adagrad/adadelta)
这里讨论的优化问题指的是,给定目标函数f(x),我们需要找到一组参数x,使得f(x)的值最小。本文以下内容假设读者已经了解机器学习基本知识,和梯度下降的原理。SGDSGD指stochastic gradient descent,即随机梯度下降。是梯度下降的batch版本。对于训练数据集,我们首先将其分成n个batch,每个batch包含m个样本。我们每次更新都利用一转载 2016-07-11 09:36:20 · 1585 阅读 · 0 评论 -
机器学习算法工程师需要掌握的技能与要踩的坑
1. 前言本来这篇标题我想的是算法工程师的技能,但是我觉得要是加上机器学习在标题上,估计点的人会多一点,所以标题成这样了,呵呵,而且被搜索引擎收录的时候多了一个时下的热门词,估计曝光也会更多点。不过放心,文章没有偏题,我们来说正经的。今天就说说机器学习这个最近两年计算机领域最火的话题,这不是一篇机器学习的技术文章,只是告诉大家机器学习里面的坑实在是太多,而且很多还没入门或者刚刚入门的朋友们转载 2016-06-10 17:13:40 · 15289 阅读 · 6 评论 -
机器学习中常见的最优化算法
我们每个人都会在我们的生活或者工作中遇到各种各样的最优化问题,比如每个企业和个人都要考虑的一个问题“在一定成本下,如何使利润最大化”等。最优化方法是一种数学方法,它是研究在给定约束之下如何寻求某些因素(的量),以使某一(或某些)指标达到最优的一些学科的总称。随着学习的深入,博主越来越发现最优化方法的重要性,学习和工作中遇到的大多问题都可以建模成一种最优化模型进行求解,比如我们现在学习的机器学习算法原创 2016-06-07 22:08:09 · 41993 阅读 · 5 评论 -
机器学习中的范数与距离
1 范数向量的范数可以简单形象的理解为向量的长度,或者向量到零点的距离,或者相应的两个点之间的距离。向量的范数定义:向量的范数是一个函数||x||,满足非负性||x|| >= 0,齐次性||cx|| = |c| ||x|| ,三角不等式||x+y|| 常用的向量的范数:L1范数: ||x|| 为x向量各个元素绝对值之和。L2范数: ||x||为x向量各个元素平方和的1/2次转载 2016-04-24 14:46:49 · 1655 阅读 · 0 评论 -
python numpy 快速处理数据
1,广播:对形状不同的数组的运算采取的操作。但是这个输入的数组中必须有一个某轴长度为1,或者缺少了一个维度(这个时候会自动的在shape属性前面补上1)。例如:>>> import numpy as np>>> a=np.arange(10,50,10).reshape(-1,1)>>> a.shape(4, 1)>>> b=np.arange(0,4)>>> barr转载 2016-05-03 17:51:13 · 474 阅读 · 0 评论 -
主成分分析法详解
问题:假设在IR中我们建立的文档-词项矩阵中,有两个词项为“learn”和“study”,在传统的向量空间模型中,认为两者独立。然而从语义的角度来讲,两者是相似的,而且两者出现频率也类似,是不是可以合成为一个特征呢? 《模型选择和规则化》谈到的特征选择的问题,就是要剔除的特征主要是和类标签无关的特征。比如“学生的名字”就和他的“成绩”无关,使用的是互信息的方法。 而转载 2016-05-03 15:37:55 · 19887 阅读 · 2 评论 -
Autoencoder与RBM结合使用
AutoEncoder是多层神经网络,其中输入层和输出层表示相同的含义,具有相同的节点数。AutoEncode学习的是一个输入输出相同的“恒等函数”。不过输入和输出相同,使得这个网络的输出没有任何意义。AutoEncoder的意义在于学习的(通常是节点数更少的)中间coder层(最中间的那一层),这一层是输入向量的良好表示。这个过程起到了“降维”的作用。当AutoEncoder只有一个隐含层的时候转载 2016-05-26 20:39:58 · 6491 阅读 · 8 评论 -
特征工程 for machine learning
(I)特征工程可以解决什么样的问题?特征工程是一个非常重要的课题,是机器学习中不可缺少的一部分,但是它几乎很少出现于机器学习书本里面的某一章。在机器学习方面的成功很大程度上在于如果使用特征工程。在机器学习中,经常是用一个预测模型(线性回归,逻辑回归,SVD等)和一堆原始数据来得到一些预测的结果,人们需要做的是从这堆原始数据中去提炼较优的结果,然后做到最优的预测。这个就包括两个方面,原创 2016-03-31 20:44:38 · 2084 阅读 · 2 评论 -
核方法与核技巧
本文对核方法(kernel method)进行简要的介绍。核方法的主要思想是基于这样一个假设:“在低维空间中不能线性分割的点集,通过转化为高维空间中的点集时,很有可能变为线性可分的” ,例如下图 左图的两类数据要想在一维空间上线性分开是不可能的,然而通过F(x)=(x-a)(x-b)把一维空间上的点转化为右图上的二维空间上,就是可以线性分割的了。然而,如果直接把低维度的数据转原创 2016-03-31 15:56:59 · 4438 阅读 · 0 评论 -
深度信念网络与受限玻尔兹曼机
本篇非常简要地介绍了深度信念网络的基本概念。文章先简要介绍了深度信念网络(包括其应用实例)。接着分别讲述了:(1) 其基本组成结构——受限玻尔兹曼机的的基本情况,以及,(2) 这个基本结构如何组成深度信念网络。 本文仅仅能使读者了解深度信念网络这一概念,内容非常浅显,甚至有许多不严密的地方。如果有愿意深入了解受限玻尔兹曼机、深度信念网络的,想对深度学习有更多了解的,请访问深度学习官方网站。或者读者原创 2016-03-30 15:30:14 · 5006 阅读 · 0 评论 -
scikit-learn 使用指南
机器学习:问题设定一般来说,机器学习问题可以这样来理解:我们有n个 样本 (sample)的数据集,想要预测未知数据的属性。如果描述每个样本的数字不只一个,比如一个多维的条目(也叫做 多变量数据 (multivariate data)),那么这个样本就有多个属性或者 特征 。我们可以将学习问题分为以下几类:有监督学习(unsupervised learning)原创 2016-02-20 21:31:38 · 1829 阅读 · 0 评论 -
java实现的深度神经网络
神经网络的计算过程神经网络结构如下图所示,最左边的是输入层,最右边的是输出层,中间是多个隐含层,隐含层和输出层的每个神经节点,都是由上一层节点乘以其权重累加得到,标上“+1”的圆圈为截距项b,对输入层外每个节点:Y=w0*x0+w1*x1+…+wn*xn+b,由此我们可以知道神经网络相当于一个多层逻辑回归的结构。(图片来自UFLDL Tutorial)算原创 2016-02-20 18:37:30 · 3985 阅读 · 1 评论 -
Mapreduce中Combiner的使用以及注意点
问题提出:众所周知,Hadoop框架使用Mapper将数据处理成一个键值对,再网络节点间对其进行整理(shuffle),然后使用Reducer处理数据并进行最终输出。 在上述过程中,我们看到至少两个性能瓶颈:(引用)如果我们有10亿个数据,Mapper会生成10亿个键值对在网络间进行传输,但如果我们只是对数据求最大值,那么很明显的Mapper只需要输出它所知道的最大值即可。这样做原创 2016-03-30 09:43:34 · 1304 阅读 · 0 评论