机器学习算法

转载 2015年11月19日 16:29:50

from http://blog.csdn.net/peng825223208/article/details/47339713

这里,主要说一下,机器学习算法的思想和应用!为了以后的应用总结一下!参考王斌译的机器学习实战一书。

1、SVD(奇异值分解)

SVD可以简化数据,去除噪声!  对于简化数据,使用SVD,可以用小得多的数据集表示原有数据集。这样实际上是去除了噪声和冗余信息。

比如有一个32*32的图像,通过SVD的公式分解。假如分解为32*2   2*2  2*32的三个矩阵。那么我们得到的总数字数目就从1024降

到了64+4+64=130.降了大约十倍。应用于图像压缩,就是将图像压缩了近十倍!

还有SVD应用于推荐系统,推荐系统将物品推荐给用户,协同过滤是一种基于用户喜好或行为数据的推荐的实现方法。协同过滤的核心是相似度计算方法,有很多

相似度计算方法都可以用于计算物品或用户之间的相似度。通过在低维空间下计算相似度,SVD提高了推荐系统的效果。

2、PCA(主成分分析)

通过降维来简化数据。简化数据有很多好处,如:使得数据集更易使用;降低很多算法的计算开销;去除噪声;使得结果易懂。

关于降维过程另一篇博客有。主要是运用特征值和特征向量的知识。

主要应用于需要减少数据量的需要情况下。

3、Apriori算法

用于进行关联分析,从大规模数据集中寻找物品间的隐含关系被称作关联分析(association analysis)。这些关系有两种形式:频繁项集或者关联规则。

频繁项集:是经常出现在一块的物品的集合。

关联规则:暗示两种物品之间可能存在很强的关系。《尿布和啤酒的故事》

那么对于频繁项集,何为频繁。这里又涉及到支持度和可信度的概念(具体可以参看机器学习这本书,不详细叙述)。

支持度(support):被定义为数据集中包含该项集的记录所占的比例。

Apriori原理:如果某个项集时频繁的,那么它所有的子集也是频繁的,例如有四件商品{0,1,2,3},如果{0,1}是频繁的。那么{0},{1}也一定是频繁的。这个原理

直观上没有什么帮助,但是如果反过来就有用了,也就是说如果一个项集是非频繁集,那么它的所有超集也是非频繁的。比如:{2,3}为非频繁集,那么{0,2,3}、

{1,2,3},{0,1,2,3}均为非频繁集。这样就大大降低了计算时间。不要小看这里的计算时间,可以计算一下,假如有100种商品,组合数目为2的100次方减1等于1.26*10的30次方种组合。

有了频繁项集,我们要从频繁项集中挖掘关联规则。,前面我们定义频繁项集用到了支持度,对于关联规则,我们的量化指标为可信度。一条规则P-->H的可信度定义

为support(P | H)/support(P),P | H是指所有出现在集合P或者集合H中的元素,前面计算了所有频繁项集支持度,现在计算可信度,只需要取出那些支持度做一

次除法运算。同样,类似于频繁项集的生成,如果,某条规则并不满足最小可信度要求,那么该规则的所有子集也不会满足最小可信度要求。如下图阴影所示,

0,1,2-->3不满足最小可信度要求,那么就知道任何左部为{0,1,2}子集的规则也不会满足最小可信度要求。

应用:购物网站、搜索引擎中的查询词

4、k-近邻算法(k-Nearest Neighbour,KNN

分类算法,用来进行分类。

算法原理:假如存在一个样本集合,也称作训练样本集,并且样本集中每个数据都存在标签,也就是我们知道样本集中每个数据与所属分类的对应关系。输入没有标签的

数据后,将新数据的每个特征与样本集中数据对应的特征进行比较,然后算法提取样本集中特征最相似的分类标签。

那么k又是什么意思呢?

k就是一般我们只选择样本数据中前k个最相似的数据来判断未知数据的分类结果。

优点:精度高,对异常值不敏感,无数据输入假定。

缺点:计算复杂度高、空间复杂度高。

举例:假如训练数据有10个,我们选择的k值为5.将未知数据的各个特征和训练数据中的对应特征进行比较(判断方法自己定义,如:欧式距离等),然后取比较最接

近的前5个作为标准用于对未知数据的判断。

用途:手写数字识别系统


相关文章推荐

机器学习十大经典算法

  • 2015-09-15 10:28
  • 5.03MB
  • 下载

Machine Learning - X. Advice for Applying Machine Learning机器学习算法的诊断和改进 (Week 6)

http://blog.csdn.net/pipisorry/article/details/44119187机器学习Machine Learning - Andrew NG courses学习笔记A...

斯坦福大学机器学习——EM算法求解高斯混合模型

EM算法(Expection-Maximizationalgorithm,EM)是一种迭代算法,通过E步和M步两大迭代步骤,每次迭代都使极大似然函数增加。但是,由于初始值的不同,可能会使似然函数陷入局...

机器学习经典算法详解及Python实现--基于SMO的SVM分类器

支持向量机基本上是最好的有监督学习算法,因其英文名为support vector machine,简称SVM。通俗来讲,它是一种二类分类模型,其基本模型定义为特征空间上的间隔最大的线性分类器,其学习策...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)