![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
机器学习
文章平均质量分 85
aturbofly
小硕一枚,码农一个。酷爱编程。热爱互联网。目前主要从事自然语言处理,推荐方面的算法开发。
研究生期间的研究方向:推荐系统。
展开
-
参数模型VS非参数模型
我们在机器学习中学习到的很多的算法模型,都可以分为参数(parametric)和非参数(nonparametric)。理解这两个概念,并知道如何区分哪些是非参数,哪些是参数,对于你深入的理解机器学习中的算法,熟悉各算法的优缺点,以及如何在实践中选择合适的算法模型都会有帮助。所以,...原创 2019-12-19 23:23:18 · 3206 阅读 · 0 评论 -
KL散度和交叉熵
在学习机器学习的过程中,我们经常会碰到这两个概念:KL散度(kl divergence)以及交叉熵,并且经常是同时出现的。很多同学对这两个概念都理解的不是很透彻,造成经常会搞混他们两者。本文最主要的目的就是带大家深入理解这两个重要的概念,同时搞懂,区别的理解他们,保证以后不会再搞混它们。如果你学过信息论,区分两者就更加容易:KL散度就是相对熵,参考资料...原创 2019-12-10 23:17:48 · 2463 阅读 · 0 评论 -
bandit算法(1)--epsilon-Greedy Algorithm(附代码)
简述 epsilon-Greedy算法(ϵ\epsilon-贪婪算法)算是MBA(Multiarmed Bandit Algorithms)算法中最简单的一种。因为是MBA算法介绍的第一篇,所以在这里还是先简单说明下MBA。当然,要解释MBA,首先就得EE问题(Explore-Exploit dilemma)。 什么是EE问题呢? 这两个”E”,其中一个代表“exploit”,中文可译作“原创 2017-10-12 23:00:43 · 22394 阅读 · 0 评论 -
理解 Bias 与 Variance 之间的权衡
有监督学习中,预测误差的来源主要有两部分,分别为 bias 与 variance,模型的性能取决于 bias 与 variance 的 tradeoff ,理解 bias 与 variance 有助于我们诊断模型的错误,避免 over-fitting 或者 under-fitting. 在统计与机器学习领域权衡 Bias 与 Variance 是一项重要的任务,因为他可以使得用有限训练数据训转载 2017-12-31 09:37:00 · 3829 阅读 · 0 评论 -
bandit算法(3)--UCB算法
引言前面已经介绍了两种bandit算法—ϵ\epsilon-greedy算法和softmax算法。现在我们来总结下这两种算法的共有属性:两种算法在每一轮选择时,默认都是选择到目前为止最好的臂;除此之外,算法会尝试去探索一些目前看起来不是最好的臂: -ϵ\epsilon-greedy算法探索的时候完全是随机的。 -softmax算法探索是基于到当前时刻臂的收益原创 2017-10-15 17:22:04 · 23436 阅读 · 3 评论 -
《Statistical Methods for Recommender Systems》阅读笔记--第三章(2)推荐系统中的EE问题
这章节提到一种解决诸如采用的训练数据由于时间影响(比如用早上的数据,训练后预测晚上的;或者使用历史数据)带来偏差的问题的方法——Kalman filter。具体参考《Applied Bayesian Forecasting and Time Series Analysis》。这块自己研究不深,工作中也没有太过在意,不过最近团队有同事提出了这个问题。后面考虑研究下。 对用户聚类分群,然后在翻译 2018-02-04 12:18:35 · 1045 阅读 · 0 评论 -
决策树基础知识点整理
1、基本算法流程决策树的构造是一个递归的过程,有三种情形会导致递归返回:(1) 当前结点包含的样本全属于同一类别,这时直接将该节点标记为叶节点,并设为相应的类别;(2) 当前属性集为空,或是所有样本在所有属性上取值相同,无法划分,这时将该节点标记为叶节点,并将其类别设为该节点所含样本最多的类别;(3) 当前结点包含的样本集合为空,不能划分,这时也将该节点标记为叶节点,并将其类别设为父节点中所含...原创 2018-02-24 22:36:24 · 1246 阅读 · 0 评论 -
机器学习中的方差和偏差
最近补充看了一些偏差-方差的资料。前面也做了两篇相关的笔记(翻译)了。感兴趣的,可以先看看理解 Bias 与 Variance 之间的权衡机器学习速成课(part 4)–偏差和方差困境概念&意义 为什么需要理解方差和偏差? 偏差和...原创 2018-04-23 23:23:01 · 1228 阅读 · 0 评论 -
机器学习速成课(part 4)--偏差和方差困境
这里有一个谜题: 下列序列的下一个数值是? 1,3,5,7,? 一个正确的解:217314 是不是感觉不可置信?正常人脑海蹦出来的第一个答案应该是‘9’。但‘217...翻译 2018-04-19 23:35:10 · 2553 阅读 · 0 评论 -
你是哪种数据科学家?--《Analyzing the Analyzers》阅读笔记
    今天花了点时间看了一本小册子《Analyzing the Analyzers:An Introspective Survey of Data Scientists and Their Work》。书是2013年出版的,非常薄:加上封面啥的,也就39页。书主要讲了:在当今时代,数据科学家很火。但是很多人,甚至包括有相关技术背景的人,都对数据科学家存在...原创 2018-06-02 15:07:51 · 702 阅读 · 0 评论 -
用两张图帮你入门机器学习
什么是机器学习?      深度学习的成功使得人工智能,机器学习受到前所未有的关注。相关岗位的薪资的水涨船高也吸引了大批软件开发相关的人奋不顾身的转机器学习相关应用的岗位(广告策略,推荐算法,图像识别等)。这同样催生了机器学习相关教育培训的无比火热。但老实说,对于几乎没有什么基础的人来说,想通过各种所谓高原创 2018-11-03 15:50:35 · 516 阅读 · 0 评论 -
详解RankNet原理及实践
0.pair-wise rank简介         pair-wise rank的主要思想是把排序形式化为成对分类(pairwise classification)或成对回归(pairwise regression)问题。和point-wise 最大的区别是,pair-wise的样本是有一对item的相对关系组成的。例如对于某个用户u, 物品i...原创 2018-11-11 14:43:42 · 7488 阅读 · 2 评论 -
SVM入门(2)--对偶
从SVM入门(1)–优化目标的来龙去脉 我们已经知道目标函数: 对于这样的凸二次规划问题有现成的优化包可进行求解。此外,这个问题有它的特殊结构,通过 Lagrange Duality 变换到对偶变量 (dual variable) 的优化问题之后,可以找到一种更加有效的方法来进行求解。这种方法比直接使用通用的 QP 优化包进行优化要高效得多。 那么,什么是拉格朗日对偶性?简原创 2017-08-30 23:22:18 · 522 阅读 · 0 评论 -
SVM入门(1)--优化目标函数的来龙去脉
在线性可分的场景下,SVM的优化目标函数为: 如果是刚接触SVM,你可能不知道这个目标函数,当然你也不知道这个w是什么,后面的这个约束条件什么意思。没关系,你现在只要记着,这个就是在线性可分类场景下,SVM最终要优化的目标函数。显然,这个目标函数是二次的,约束条件是线性的,所以它是一个凸二次规划问题。对于这样的二次规划问题,有现成的二次规划优化包来求解。 现在,原创 2017-08-29 23:17:10 · 8616 阅读 · 2 评论 -
线性回归之梯度下降法(附代码)
写本文的目的主要是面向刚刚接触机器学习的初学者,或者对梯度下降感兴趣但不理解的人。假如现在有以下数据,time表示所花的时间,score表示相应的分数。timescore93915562593146110 501875现在我要你根据上面的数据预测假原创 2013-11-17 10:43:36 · 5095 阅读 · 1 评论 -
使用牛顿迭代方法(Newton’s method)来估计方程的解
假定现在我们想要估计f(x)=0的解,你可能从网上找到了某些所谓穷举得方法:从x=-100到x=1000,按给定一个递增因子一个一个数的代入f(x)中,所有满足f(x)=0的都是f(x)的解。想想就觉得这种机械的方法不靠谱,效率太低了。本文要介绍的牛顿方法的一种常见用法就是用来求解方程的解。方法很简单,首先我们来根据下图来对牛顿方法的推导最简单的介绍:原创 2013-11-18 16:33:59 · 4872 阅读 · 0 评论 -
Logistic 回归
在详细介绍Logistic 回归之前有必要简单说明下什么是回归,什么是分类以及Logistic 回归应用的场景举例。1.什么是回归?什么是分类?回归:当我们尝试去预测的目标变量是连续的时候,我们称这一的学习问题维回归问题分类:相反,当目标变量是少数几个离散值的时候,称之为分类问题2.logistic回归应用场景能否利用回归的方法来处理分类的问题呢?下图,横坐标表示肿瘤的大小原创 2013-11-18 11:13:16 · 1894 阅读 · 0 评论 -
k-means算法的java实现
k-means是一种最常用的聚类算法。关于k-means算法的介绍到处都能找到,并且比较容易理解。mahout里面也实现了k-means算法。下面贴出的是自己写的实现。目的是帮助大家能更清楚的认识和更快的掌握k-means算法。 import java.util.ArrayList;import java.util.HashSet;import java.util.Iterator;原创 2016-03-18 09:11:53 · 1903 阅读 · 1 评论 -
详解局部加权回归
在线性回归中,对于给定的训练集,用一个线性表达式来拟合所有数据,当训练集中输入变量和目标变量之间的确存在线性关系时,通常拟合的很好。但是如果没有明显的线性关系的话,可能就拟合不到好的效果了。比如下面坐标表示的情形,用一条直线来拟合图上的点显然不是很合适。这种情况叫做欠拟合(underfitting)。通常来说,对待这种情况,特征的选择可能会非常的重要,比如,对于上面的图,如果加特征原创 2013-11-17 19:28:29 · 19593 阅读 · 7 评论 -
主题建模入门指南(python)
简介所谓分析,通常都是指从数据中获取“信息”。近来,随着数据迅猛增长——其中绝大多数数据是非结构的,要想获得相关想要的信息变成越来越困难。庆幸地是,与此同时出现了一些强大的方法来帮助我们从这些数据中抽取出我们想要的信息。文本挖掘领域中这样相关的一种技术是主题建模。正如其名,主题建模能够从一个文本对象中自动识别它的主题,并且发现隐藏的模式。这些能够帮助做出更好的决策。主题建模和那些基于规则的文本挖掘方翻译 2017-02-22 22:33:55 · 7208 阅读 · 0 评论 -
机器学习法则:(谷歌)机器学习工程最佳实践(译)
本文来源:《Rules of Machine Learning:Best Practices for ML Engineering》作者:Martin Zinkevich google 研究科学家。这是Martin Zinkevich在NIPS 2016 Workshop 分享的谷歌机器学习实践的四十三条法则。 术语实体(Instance):要对其进行预测的事物标签(Label):预测任务的结果翻译 2017-05-07 23:08:04 · 3419 阅读 · 0 评论 -
基于的朴素贝叶斯的文本分类(附完整代码(spark/java)
本文主要包括以下内容: 1)模型训练数据生成(demo) 2 ) 模型训练(spark+java),数据存储在hdfs上 3)预测数据生成(demo) 4)使用生成的模型进行文本分类。原创 2017-06-20 23:52:25 · 7298 阅读 · 2 评论 -
文本分类中的降维方法总结
引言 人们通常采用向量空间模型来描述文本向量,但是如果直接用分词算法和词频统计方法得到的特征项来表示文本向量中的各个维,那么这个向量的维度将是非常的大。 这种未经处理的文本矢量不仅给后续工作带来巨大的计算开销,使整个处理过程的效率非常低下,而且会损害分类、聚类算法的精确性,从而使所得到的结果很难令人满意。 所以,在文本分类中,降维有时候是非常关键的一环。为什么需要降维?也就降维有什么好处?原创 2017-08-18 11:16:11 · 22559 阅读 · 0 评论 -
scikit-learn中的SVM使用指南
本文主要包括以下内容: 1、 sklearn三个SVM分类器(sklearn.svm.LinearSVC,sklearn.svm.SVC,sklearn.svm.NuSVC)的参数详解 2、SVM算法调优的一些建议 3、实验sklearn.svm.LinearSVCpenalty取值说明: l1-SVM: l2-SVM:区别就是优化函数中的惩罚项中是松弛变量累加还是松弛变量平原创 2017-09-04 20:03:30 · 5643 阅读 · 2 评论 -
推荐系统冷启动常用解决方案
本文主要基于博主的实际经验,简单介绍几种推荐系统实践中常用的几种解决冷启动的方案。每种方案尽量提供主要的资料,但不展开详细介绍,有需要的可以自己查看相关资料或google。 此外,本文只针对用户的冷启动问题,不涉及物品的冷启动。 我们通常所说的用户冷启动问题是指系统中没有用户的行为数据,但并不表示没有其他数据。有哪些数据可以用来解决冷启动呢?系统内的数据通常包括用户的一些注册信息,比如用户的年龄原创 2017-09-07 23:21:45 · 7015 阅读 · 0 评论 -
一个简单的遗传算法的应用实例(java代码)
求下述二元函数的最大值:下参考Mitchell《机器学习》中的遗传算法解决上面问题的java代码如下:import java.lang.Math;import java.util.ArrayList;import java.util.List;/** * 采用遗传算法求下列二元函数的最大值 * max f(x1,x2)=x1^2+x2^2; * s.t.x1∈{1,2,原创 2013-09-05 17:14:04 · 7802 阅读 · 2 评论