机器学习
文章平均质量分 68
tianbwin2995
这个作者很懒,什么都没留下…
展开
-
对拉格朗日乘子法的理解
我们什么时候用拉格朗日乘子法?在求二次优化【或者宽泛点说,凸优化】的时候,一般写法是,我们要求一个函数的min,然后这个函数一般是凸函数,然后,这个函数的自变量还有好几个约束(等式约束and不等式约束)我们的拉格朗日式子写出来,写出来的是用原函数减去alpha*等式约束,减去beta*不等式约束 因此,我们其实的max L(α)是等于原函数的!!即max L(α)= f(w)原创 2016-01-11 15:30:52 · 1252 阅读 · 0 评论 -
用gensim做LDA实践之文本分类
之前看LDA,一直没搞懂到底作用是什么,公式推导了一大堆,dirichlet分布求了一堆倒数,却没有真正理解精髓在哪里。最近手上遇到了一个文本分类的问题,采用普通的VSM模型的时候,运行的太慢,后来查找改进策略的时候,想起了LDA,因此把LDA重新拉回我的视线,也终于弄懂了到底是做什么的。LDA本质是一种降维为什么这么说,因为在我的文本分类问题中,文本共有290w个,根据词项得到的维度为90w个,这原创 2016-06-27 14:43:22 · 21974 阅读 · 14 评论 -
文本分类
概览 自动文本分类(Automatic Text Categorization),或者简称为文本分类,是指计算机将一篇文章归于预先给定的某一类或某几类的过程。 文本分类是指按照预先定义的主题类别,为文档集合中的每个文档确定一个类别.文本分类是文本挖掘的一个重要内容。 所谓文本分类,是指对所给出的文本,给出预定义的一个或多个类别标号,对文本进行准确、高效的分类.它是许多数据管理任务的重要组成部分转载 2016-06-15 13:41:04 · 1257 阅读 · 0 评论 -
sklearn文本特征提取
词袋(Bag of Words)表征文本分析是机器学习算法的主要应用领域。但是,文本分析的原始数据无法直接丢给算法,这些原始数据是一组符号,因为大多数算法期望的输入是固定长度的数值特征向量而不是不同长度的文本文件。为了解决这个问题,scikit-learn提供了一些实用工具可以用最常见的方式从文本内容中抽取数值特征,比如说:标记(tokenizing)文本以及为每一个可能的标记(token)分配的一转载 2016-06-16 17:24:13 · 5235 阅读 · 0 评论 -
用Python开始机器学习(5:文本特征抽取与向量化)
http://blog.csdn.net/lsldd/article/details/41520953假设我们刚看完诺兰的大片《星际穿越》,设想如何让机器来自动分析各位观众对电影的评价到底是“赞”(positive)还是“踩”(negative)呢?这类问题就属于情感分析问题。这类问题处理的第一步,就是将文本转换为特征。因此,这章我们只学习第一步,如何从文本中抽取特征,并将其向量化。由于中文的处理涉转载 2016-06-16 17:25:10 · 693 阅读 · 0 评论 -
各大公司广泛使用的在线学习算法FTRL详解
https://www.52ml.net/16256.html现在做在线学习和CTR常常会用到逻辑回归( Logistic Regression),而传统的批量(batch)算法无法有效地处理超大规模的数据集和在线数据流,google先后三年时间(2010年-2013年)从理论研究到实际工程化实现的FTRL(Follow-the-regularized-Leader)算法,在处理诸转载 2016-07-04 18:52:07 · 670 阅读 · 0 评论 -
结合Scikit-learn介绍几种常用的特征选择方法
特征选择(排序)对于数据科学家、机器学习从业者来说非常重要。好的特征选择能够提升模型的性能,更能帮助我们理解数据的特点、底层结构,这对进一步改善模型、算法都有着重要作用。特征选择主要有两个功能:减少特征数量、降维,使模型泛化能力更强,减少过拟合增强对特征和特征值之间的理解拿到数据集,一个特征选择方法,往往很难同时完成这两个目的。通常情况下,我们经常不管三七二十一,选择一种自己最熟悉或者最方便的特转载 2016-06-20 13:47:16 · 752 阅读 · 0 评论 -
cross-validation:从 holdout validation 到 k-fold validation
http://blog.csdn.net/lanchunhui/article/details/50522424构建机器学习模型的一个重要环节是评价模型在新的数据集上的性能。模型过于简单时,容易发生欠拟合(high bias);模型过于复杂时,又容易发生过拟合(high variance)。为了达到一个合理的 bias-variance 的平衡,此时需要对模型进行认真地评估。本文将转载 2016-07-07 10:46:28 · 801 阅读 · 0 评论 -
浅谈利用逻辑回归来解决文本分类时的模型调优
http://blog.csdn.net/busycai/article/details/6159109 本文适合有少许文本分类实践经验的同学。1.什么是文本分类?简单点说,给定类别,将文本分到某个或某几个类别中。比如,一篇网页,判断它是体育类还是政治类还是娱乐类。当然网页比文本稍微复杂一些,需要先做一些页面解析等预处理工作。文本分类可看作网页分类的一个子问题。想继续了解文本分类,推荐看计算所王斌转载 2016-07-28 13:33:23 · 2265 阅读 · 0 评论 -
LIBSVM与LIBLINEAR
## LIBSVM与LIBLINEAR(一) 在过去的十几年里,支持向量机(Support Vector Machines)应该算得上是机器学习领域影响力最大的算法了。而在SVM算法的各种实现工具中,由国立台湾大学林智仁老师开发的工具包LIBSVM,又无疑是影响力最大的。2011年LIBSVM的系统介绍论文“LIBSVM: a library for support vector machine转载 2016-07-28 15:41:22 · 832 阅读 · 0 评论 -
二分类问题的评价指标:ROC,AUC
ROC(Receiver Operating Characteristic)曲线和AUC常被用来评价一个二值分类器(binary classifier)的优劣,对两者的简单介绍见这里。这篇博文简单介绍ROC和AUC的特点,以及更为深入地,讨论如何作出ROC曲线图以及计算AUC。 ROC曲线需要提前说明的是,我们这里只讨论二值分类器。对于分类器,或者说分类算法,评价指标主要有precision,re转载 2016-06-22 09:57:29 · 1602 阅读 · 0 评论 -
LR其实是可以做一下特征离散化的
今天听组里人聊天,说LR需要把特征离散化,但是GBDT并不需要把特征离散化;我很疑惑,我记得lr并不需要离散化啊。后来听他们说,LR更适合处理稀疏数据,那么把特征先离散化到4个特征维度(假设的),然后以后遇到这个特征的时候,实际上就是四个特征中的一个有值了。【实际上是做了一个哑变量处理】以下摘自知乎: 3. 逻辑回归属于广义线性模型,表达能力受限;单变量离散化为N个后,每个变量有单独的权重,相当于原创 2016-07-29 09:48:47 · 3882 阅读 · 0 评论 -
机器学习排序之Learning to Rank简单介绍
PS:文章主要转载自CSDN大神hguisu的文章"机器学习排序": http://blog.csdn.net/hguisu/article/details/7989489 最近需要完成课程作业——分布式排序学习系统.它是在M/R、Storm或Spark架构上搭建分布式系统,并使用学习排序Pointwise、Pairwise和Listwise三大类算法实现对微软转载 2016-07-29 10:11:09 · 903 阅读 · 0 评论 -
SGDClassifier和LR,SVM的区别
看了许多文献,以及最近的项目经验,终于真正地搞懂了LR。以前总听大家说,看你对机器学习搞得透彻不透彻,就看你逻辑回归理解得怎么样;自己是统计出身的我,一直很有自信,以为无非就是个极大似然估计,求那个似然函数的极大值而已。然而实际上,这个之中也有很多的说法在里面,比如,求参数的方法。在逻辑回归中,我们极大似然估计的参数是可以通过“极大化该参数值”得到的,然而得到参数之后,并不代表我们就完成了,因为成千原创 2016-07-07 19:54:32 · 17718 阅读 · 1 评论 -
逻辑回归还是要多用离散变量
在工业界,很少直接将连续值作为逻辑回归模型的特征输入,而是将连续特征离散化为一系列0、1特征交给逻辑回归模型,这样做的优势有以下几点:离散特征的增加和减少都很容易,易于模型的快速迭代;稀疏向量内积乘法运算速度快,计算结果方便存储,容易扩展;离散化后的特征对异常数据有很强的鲁棒性:比如一个特征是年龄>30是1,否则0。如果特征没有离散化,一个异常数据“年龄300岁”会给模型造成很大的干扰;逻辑转载 2016-06-23 14:51:41 · 4432 阅读 · 0 评论 -
在分类中如何处理训练集中不平衡问题
原文地址:一只鸟的天空,http://blog.csdn.net/heyongluoyao8/article/details/49408131在分类中如何处理训练集中不平衡问题 在很多机器学习任务中,训练集中可能会存在某个或某些类别下的样本数远大于另一些类别下的样本数目。即类别不平衡,为了使得学习达到更好的效果,因此需要解决该类别不平衡问题。Jason Brownlee的回答:原转载 2016-06-23 15:09:27 · 310 阅读 · 0 评论 -
word2vec中关于霍夫曼树的应用原理
看了word2vec中虽然对霍夫曼原理有所了解。但是没有找到使用霍夫曼编码的原理。在google上搜到这篇文章,感觉写的很不错,果断转了http://xiaoquanzi.net/?p=1562013年末,Google发布的word2vec引起了一帮人的热捧,各种兴奋。时至今日,各地讨论的也不似如此频繁,也是时候写一下个人对它的理解,亦可避免被真正的有识之士鄙视。在转载 2016-08-22 14:11:07 · 798 阅读 · 0 评论 -
损失函数(Loss Function)
http://www.cnblogs.com/rocketfan/p/4083821.htmlLoss Function损失函数可以看做 误差部分(loss term) + 正则化部分(regularization term)1.1 Loss TermGold Standard (ideal case)Hinge (SVM, soft m转载 2016-06-03 08:33:45 · 472 阅读 · 0 评论 -
EM算法
问题引入先思考这样一个问题:我们知道,人群中人的身高大致服从一个正态分布。那么现在,如果说我拿到了一个班的学生(就姑且假设是100人吧!)的身高,我想请你帮我估计一下,这个正态分布的参数θ:N(μ,σ)\theta:N(\mu,\sigma)。如何估计?好简单。应用极大似然估计的思想,把每一个样本拿出来相乘,求解得到概率最大的那个参数,即为我们想要的参数θ\theta好,现在我们将问题增加一点点难度原创 2016-04-24 11:38:19 · 1946 阅读 · 0 评论 -
【小白自学笔记】【机器学习实战】【Python代码逐行理解】CH02
第一个给出的是一个非常简单的例子:给出四个训练集数据(0,0)(0,0.1)【A类】(1,1)(1,1.1)【B类】 然后让你输入一个数字判断从属于A类还是B类方法也很简单粗暴,离这个点的距离近的3个【k个】点,属于标签A的多,就判给A,B的多就判给B问题:距离怎么算?方法很简单:欧氏距离。好了。所以我们代码的核心就是写出这个欧氏距离,涉及到几点注意点:1.要根据训练集原创 2015-11-12 15:47:24 · 504 阅读 · 0 评论 -
【转】主题模型--pLSA,LDA
原文地址:http://blog.csdn.net/huagong_adu/article/details/7937616上个月参加了在北京举办SIGKDD国际会议,在个性化推荐、社交网络、广告预测等各个领域的workshop上都提到LDA模型,感觉这个模型的应用挺广泛的,会后抽时间了解了一下LDA,做一下总结:(一)LDA作用 传统判断两个文档相似性的方转载 2016-02-16 23:09:11 · 5574 阅读 · 0 评论 -
隐马尔可夫模型(HMM)攻略
隐马尔可夫模型(Hidden Markov Model,HMM) 最初由 L. E. Baum 和其它一些学者发表在一系列的统计学论文中,随后在语言识别,自然语言处理以及生物信息等领域体现了很大的价值。平时,经常能接触到涉及HMM的相关文章,一直没有仔细研究过,都是蜻蜓点水,因此,想花一点时间梳理下,加深理解,在此特别感谢 52nlp 对HMM的详细介绍。考虑下面交通灯的例子,一个序列转载 2016-03-03 16:58:20 · 429 阅读 · 0 评论 -
机器学习中的相似性度量
http://www.cnblogs.com/heaad/archive/2011/03/08/1977733.html在做分类时常常需要估算不同样本之间的相似性度量(Similarity Measurement),这时通常采用的方法就是计算样本间的“距离”(Distance)。采用什么样的方法计算距离是很讲究,甚至关系到分类的正确与否。 本文的目的就是对常用的相似性度量作一转载 2016-03-06 10:55:21 · 253 阅读 · 0 评论 -
机器学习模型评价指标
分为三个大块:1 如何利用scikit-learn进行交叉验证 2 如何评价分类模型的指标 3 如何评价线性模型的指标 4如何评价聚类模型的指标交叉验证:1.holdout2.K-Fold3.留12.分类模型的评价指标最重要的:混淆矩阵confusion_matrix其余的一些指标:准确度accuracy 所有正确的精确率:预测1正确的在全部预测为正确1的里原创 2016-03-17 16:33:25 · 3154 阅读 · 0 评论 -
GBDT和Adaboost
一句话总结GBDT:实际上,就是对伪残差选择合适的cart树,然后给定一个gamma值,然后加起来,需要了解的概念:什么是gamma,什么是F(x)Adaboost一般情况下,em是小于0.5的(总得比随机猜测强吧)有了em代入到式子,得到alpha(m) 1-em/em 正常是大于1的 因此alpham是一个正数这个权值很简单,给定误差,我们就能原创 2016-03-10 23:41:15 · 1672 阅读 · 0 评论 -
关于sigmoid函数
sigmoid函数是一个良好的阈值函数,连续,光滑严格单调关于(0,0.5)中心对称对阈值函数有一个良好的近似原函数:f(x) = 1/[1+e^(-x)]其导数f'(x)=f(x)*[1-f(x)],可以节约计算时间其中,当你写代码的时候,如果f(x)不好写,你可以写成f(x)=ex/1+ex的形式,其中ex是pow(2.7182818228,原创 2016-02-27 10:33:43 · 2755 阅读 · 0 评论 -
C语言实现logistic回归
logistic和线性回归的区别与联系 :区别:logistic回归是做分类(0,1,分类),线性回归是做预测(y值是多少)区别:线性回归的求法:求theta,让J(theta)达到最小值【J(theta)是凸函数】 logistic回归的求法:写出似然函数,求theta,让似然函数达到最大值【似然函数是凹函数】联系:求参数,使目标函数达到极值,都是用 梯度下降方法原创 2016-02-27 10:55:29 · 4447 阅读 · 0 评论 -
softmax自己理解
二分类logistics回归的时候,我们用了一个theta,其中theta是n维,n取决于样本x有几维以此类推,当三分类softmax的时候,我们就用两个theta,一个是划分为1的theta,一个是划分为2的theta,一个是1减去他俩所以说,theta1就代表了分类里,结果为第一类的作用的那个theta。theta2代表第二类作用为2的那个theta因此,我们求出theta1*...原创 2016-02-27 12:22:29 · 1710 阅读 · 0 评论 -
梯度下降法的C语言实现
之前我设计了一个二维数组的梯度下降,发现跑原blog上面的数据,可以跑出结果,但是,问题在于,跑我自己的数据的时候,每次都会变成负无穷。我心想不应该啊,都是二元线性回归,而且基本都是一个方向的,怎么可能得到负无穷后来我想了下,想明白了,我这里没有考虑常数项【也就是theta 0】 结果就是没有常数项,每个theta都会互相牵制地变大变小,也就失去了梯度下降的意义。而原代码,选择的数据恰好没有常数项原创 2015-12-29 11:37:31 · 7596 阅读 · 3 评论 -
最优化的几个问题的解法和比较之——无约束的非线性规划
梯度下降法:优点:对初始点的要求很少,从一般的初始点出发,都能收敛到某个局部极小值点。缺点:1.对学习率关系很大,在极小点附近容易产生显著的锯齿现象,收敛十分缓慢。2.对于小扰动是不稳定的,且梯度下降法只是一种局部性质,也就是说从局部看目标函数的值下降得最快,但从总体看可能走了许多弯路(因为每相邻两个方向都是正交的)评价:在实际生活中,通常只用梯度下降法来计算最前面的若干步,对于后面的原创 2016-02-27 20:24:09 · 6166 阅读 · 0 评论 -
softmax回归
Softmax回归Contents [hide]1 简介2 代价函数3 Softmax回归模型参数化的特点4 权重衰减5 Softmax回归与Logistic 回归的关系6 Softmax 回归 vs. k 个二元分类器7 中英文对照8 中文译者简介在本节中,我们介绍Softmax回归模型,该模型是logis转载 2016-02-27 11:14:36 · 1244 阅读 · 0 评论 -
CH02:提供推荐
有关推荐问题:目标输出:我想得到一个长串,里面既有与这个人评分较高(即相似度较高)的人的名字,也有他的得分,应该用Python里的什么结构?Q:一个列表也好,一个字典也好,不定义可以直接用吗?A:不可以。一个字符在不定义的时候可以直接用(for item in ...)并没有定义item,直接拿来用就好 item可以是数字,可以是名称字符,方便直接但是,在用列表和字典的时候,一定要原创 2016-02-28 21:53:01 · 324 阅读 · 0 评论 -
CH03
第一步,通过feedparser解析URL为rss,保存在d中,然后在d里的entry里的summary找到博客内容,然后通过自己写一个Wordcount,统计博客内容的各个单词出现的频率,保存在字典wc{}中#coding=utf-8import feedparserimport redef getwordcounts(url): d = feedparser.parse(ur原创 2016-02-29 15:05:26 · 329 阅读 · 0 评论 -
径向基函数
Radial basis function(径向基函数)径向基函数是一个取值仅仅依赖于离原点距离的实值函数,也就是Φ(x)=Φ(‖x‖),或者还可以是到任意一点c的距离,c点成为中心点,也就是Φ(x,c)=Φ(‖x-c‖)。任意一个满足Φ(x)=Φ(‖x‖)特性的函数Φ都叫做径向量函数,标准的一般使用欧氏距离,尽管其他距离函数也是可以的。一些径向函数代表性的用到近似给定的函数,这种转载 2016-04-28 21:15:41 · 1109 阅读 · 0 评论 -
降维中的特征选择
http://www.r-bloggers.com/lang/chinese/1033by 写长城的诗 • June 5, 2012 • Comments OffThis post was kindly contributed by 数据科学与R语言 - go there to comment and to read the full post.转载 2016-04-24 11:30:14 · 1259 阅读 · 0 评论 -
关于神经网络的一点理解
1.为什么使用神经网络因为在最简单的异或问题上,一个简单的线性分类器都搞不定了。而神经网络相当于多个线性分类边界的整合。具有更优秀的能力。 【异或问题】如果a、b两个值不相同,则异或结果为1。如果a、b两个值相同,异或结果为0。 异或也叫半加运算,其运算法则相当于不带进位的二进制加法:二进制下用1表示真,0表示假,则异或的运算法则为:0⊕0=0,1⊕0=1,0⊕1=1,1⊕1=0(同为0,异原创 2016-10-07 20:11:02 · 628 阅读 · 0 评论