在推荐系统简介中,我们给出了推荐系统的一般框架。很明显,推荐方法是整个推荐系统中最核心、最关键的部分,很大程度上决定了推荐系统性能的优劣。目前,主要的推荐方法包括:基于内容推荐、协同过滤推荐、基于关联规则推荐、基于效用推荐、基于知识推荐和组合推荐。

一、基于内容推荐

基 于内容的推荐(Content-based Recommendation)是信息过滤技术的延续与发展,它是建立在项目的内容信息上作出推荐的,而不需要依据用户对项目的评价意见,更多地需要用机 器学习的方法从关于内容的特征描述的事例中得到用户的兴趣资料。在基于内容的推荐系统中,项目或对象是通过相关的特征的属性来定义,系统基于用户评价对象 的特征,学习用户的兴趣,考察用户资料与待预测项目的相匹配程度。用户的资料模型取决于所用学习方法,常用的有决策树、神经网络和基于向量的表示方法等。 基于内容的用户资料是需要有用户的历史数据,用户资料模型可能随着用户的偏好改变而发生变化。

基于内容推荐方法的优点是:
1)不需要其它用户的数据,没有冷开始问题和稀疏问题。
2)能为具有特殊兴趣爱好的用户进行推荐。
3)能推荐新的或不是很流行的项目,没有新项目问题。
4)通过列出推荐项目的内容特征,可以解释为什么推荐那些项目。
5)已有比较好的技术,如关于分类学习方面的技术已相当成熟。
Continue reading

原创 2016年05月05日 14:42:58

        支持向量机是属于原创性、非组合的具有明显直观几何意义的分类算法,具有较高的准确率。

使用SVM算法的思路:(1)简单情况,线性可分情况,把问题转化为一个凸优化问题,可以用拉格朗日乘子法简化,然后用既有的算法解决;(2)复杂情况,线性不可分,用核函数将样本投射到高维空间,使其变成线性可分的情形,利用核函数来减少高纬度计算量。

    一、SVM相关基本概念

  分割超平面

设C和D为两不相交的凸集,则存在超平面P,P可以将C和D分离。 

两个集合的距离,定义为两个集合间元素的最短距离。

做集合C和集合D最短线段的垂直平分线。
Continue reading

k-means 怎么优化选取k

1、减少聚类的数目K。因为,每个样本都要跟类中心计算距离。
2、减少样本的特征维度。比如说,通过PCA等进行降维。
3、考察其他的聚类算法,通过选取to据,去测试聚类算法的性能。

4、hadoop集群,K-means算法是很容易进行并行计算的。

kmeans一般在数据分析前期使用,选取适当的k,将数据聚类后,然后研究不同聚类下数据的特点。

算法原理:

(1) 随机选取k个中心点;

(2) 在第j次迭代中,对于每个样本点,选取最近的中心点,归为该类;

(3) 更新中心点为每类的均值;

(4) j<-j+1 ,重复(2)(3)迭代更新,直至误差小到某个值或者到达一定的迭代步数,误差不变.

空间复杂度o(N)

时间复杂度o(I*K*N)

其中N为样本点个数,K为中心点个数,I为迭代次数

Continue reading

 

一、理解隐马尔科夫

1.1 举例理解

来源:< http://www.cnblogs.com/skyme/p/4651331.html >
假设我手里有三个不同的骰子。第一个骰子是我们平常见的骰子(称这个骰子为D6),6个面,每个面(1,2,3,4,5,6)出现的概率是1/6。第二个骰子是个四面体(称这个骰子为D4),每个面(1,2,3,4)出现的概率是1/4。第三个骰子有八个面(称这个骰子为D8),每个面(1,2,3,4,5,6,7,8)出现的概率是1/8。

image.png

当我们无法观测到时使用哪个骰子投掷,仅仅能看到投掷的结果的时候。例如我们得到一个序列值:1 6 3 5 2 7 3 5 2 4。
它其实包含了:1、隐含的状态,选择了哪个骰子;2、可见状态,使用该骰子投出数值。如下:

image.png

Continue reading

核心思想:

输入 习题体征、用户特征

习题特征: 习题难度(统计做题人数的正确率), 所属类别(Sklearn分类), 摘要信息(TDF-IDF提取),实体识别, 习题类别,

用户特征: 年级, 英语程度, 备考科目, 每天可以利用的时间, 最终考试时间, 统计 知识点正确率

机器学习
贝叶斯公式 公式的证明

朴素贝叶斯公式 公式的证明

HMM公式

HMM分词步骤

CRF公式

CRF 词性标注步骤

SVM
超平面的推理
核函数应用的推导

线性回归的证明

逻辑回归的证明

常用激活函数的听写

常用损失函数/代价函数

L1正则函数 公式

L2正则函数 公式

Neo4j 基本语句

Spark Ghahx 使用

流程理清说明:
分词
文本分类
命名实体识别
摘要提取
词相似度提取
情感判定
用户意图判定

韩梅梅和李雷是百度的实习生,他们刚入职就接受了一项任务,用机器学习的方法来预测某个行业query和广告之间的点击率。该模型将会用于对广告展现时,根据点击率,对展现的广告做重排序。他们两个都采用了LR方法来解决问题,具体的做法是:
(1)根据一个月该行业的日志,找到每次搜索时,当时展现的所有广告(一次展现固定出三条广告)。他们把每个广告的每次展现当作样本,当时是否点击为LR的y值:0或者1。这样一共获得了50w个样本(比如在一次搜索queryA下展现了三条广告a,b,c,其实a被点击了一次,那么这次搜索一共对应3个样本,其中第一个样本的y为1,后面两个样本的y为0)
(2)对样本做均匀抽样分成两份,70%为训练样本,30%为测试样本,抽取了100种特征,其中一个特征是当时广告在网页中的排序(1,2或者3)
(3)使用公司的LR在训练样本上进行训练,在测试样本中进行检测, 认为LR模型给出的p即为广告的点击率,其中
a.对于广告在网页中的排序,韩梅梅使用的方法是离散乘0-1特征,即将排序离散成(是否为第一名,是否为第二名,是否为第三名),如果样本的排序是第一名,对应的特征为(1,0,0),如果样本的排序为第二名,对应的特征为(0,1,0),而李雷的方法是直接对排序做归一后当作特征的取值,如第一名为0,第二名为0.5,第三名为1,问他们谁的方法效果会更好,为什么?
b.一般大型LR模型都是使用随机梯度下降的方式,所以需要选择初始值,韩梅梅把beta()的初始值设置成了广告的平均点击0.01,而李雷把bata()设置为1,问在实际线上应用的时候,他们谁的方法效果会更好,为什么?
c.在直接使用LR模型的时候(loss=\sum yi*log(h(x))+(1-yi)*log(1-h(x)))h(x)=1/(1+exp(-xi*thetai)),韩梅梅和李雷发现在训练样本中拟合的很好,但是在测试样本中效果比较差,问可能是什么原因导致?怎么解决?
d.在测试的时候,他们使用auc来评估效果,请问auc是怎么计算的?

 

 

150 题数据挖掘

https://www.jianshu.com/p/37b5d84a3481

 

 

[机器学习]以下不属于有监督的词义消歧方法的是

  • Flip-Flop算法
  • 贝叶斯分类器
  • 最大熵消歧
  • 基于词典的消歧

 

机器学习模型 error 和模型 bias 和 variance 之间的关系:

  • 没有关系
  • error = bias^2+variance
  • error = bias+variance^0.5
  • error = bias + variance

 

欠拟合的原因:模型复杂度过低,不能很好的拟合所有的数据,训练误差大;
避免欠拟合:增加模型复杂度,如采用高阶模型(预测)或者引入更多特征(分类)等。
过拟合的原因:模型复杂度过高,训练数据过少,训练误差小,测试误差大;
避免过拟合:降低模型复杂度,如加上正则惩罚项,如L1,L2,增加训练数据等。

Continue reading

RandomForest 与 GBDT 的区别:

相同点:

1.都由很多棵树组成

2.最终的结果是由多棵树一起决定的

不同点:

1.RandomForest中的树可以是分类树,也可以是回归树,而GBDT只能由回归树(CART)组成,这也说明GBDT各个树相加是有意义的

2.RandomForest中的树是并行生成的,而GBDT是串行生成的,GBDT中下一颗树要去拟合前一颗树的残差,所以GBDT中的树是有相关关系的,而RandomForest中的树的相关性依赖于Boostrap生成的样本子集的相关性

3.RandomForest 对异常值不敏感,GBDT敏感

4.RandomForest是通过降低模型方差来提高性能的,而GBDT是通过降低偏差来提高性能

Continue reading