
机器学习/数据挖掘
文章平均质量分 53
wangxin110000
这个作者很懒,什么都没留下…
展开
-
白话机器学习算法(十五)文档与图片的特征提取(学习笔记)
互联网中大量的分类目标是文档,或者图片,如何才能tiqu转载 2014-04-04 15:56:40 · 1703 阅读 · 2 评论 -
白话机器学习算法(三)基于密度的聚类 DBSCAN
DBSCAN是一种基于密度的聚类算法,能找到被低密度区域分离的高密度区域我们先聊聊港台电影里有关黑老大的片段,我们先定义三种人:1) :黑老大:既然能称为黑老大,那周围一定有一帮人,这群人中有的单纯就是马仔,有的人则可能是另一个帮派的黑老大;2) :马仔:跟在黑老大后面干活的,马仔周围至少有一个黑老大,要不然怎么能称为马仔;3) :普通人:守法好公民,远离黑社会;DBSCAN中原创 2014-03-25 20:24:33 · 1720 阅读 · 0 评论 -
白话机器学习算法(七)LDA
LDA也是一种线性变换,其整个证明过程与PCA非常相似,找到目标函数,利用特征值,但是其跟PCA的目标是不同的,PCA目的是在新坐标系中方差最大,LDA则是在新坐标系中,类内方差尽量小,类间距离尽量大,并以这两个指标定义一个目标函数,通过最大化这个目标函数然后得到相应的映射方法,即新坐标系;这两者本质原理类似,都是线性映射,但是目标不同;LDA是有标签的训练方法,使得映射以后更容易判决!L原创 2014-03-26 18:59:24 · 1408 阅读 · 0 评论 -
白话机器学习算法(八)MDS
MDS多维尺度分析,实际应用中我们可以得到两个对象的差异度,这个差异度是个人为定义的概念,比如说可以定义一个差异函数,非常灵活;假设现在我们有N个对象,我们可以定义N方个距离,可以类似于邻接矩阵的样子,来表示两两之间的差异度;现在为了可视化,或者其他用途,我们要找一个坐标系,把这N个点放到这个坐标系中,使得这N个点相互距离符合我们定义的那个差异函数,然后这就变成了一个最优化的问题,(损失函原创 2014-03-27 11:26:38 · 3699 阅读 · 0 评论 -
白话机器学习算法(十六)HMM 隐马尔科夫链
隐马尔科夫链主要是两部分:原创 2014-04-04 20:22:10 · 4927 阅读 · 0 评论 -
白话机器学习算法(十一) EM(附三个硬币模型代码)
EM有很多公式推导,这里还是先说下EM思想,前面说过EM是最大似然估计的思路,但是他的方法是用 参数与数据 去估计 参数,直到估计出的参数基本正确;EM是怎么做到的?原创 2014-03-30 19:39:13 · 2658 阅读 · 1 评论 -
白话机器学习算法(九)朴素贝叶斯
朴素贝叶斯,确实很朴素,原理也很简单,但是用途很厉害;很多涉及概率的机器学习算法都要用到这些东西:最大似然估计(MLE),贝叶斯估计(最大后验MAP),EM,这三种都是估计方法,EM算是前两者的加强版本;先说点废话,再写点公式吧:最大似然估计:我取什么样的参数,使得当前数据最有可能出现;贝叶斯估计:我取什么样的结果使得错误估计最少 所谓后验概率最大化就是期望风险最小,比如我判断错错原创 2014-03-27 17:38:57 · 2511 阅读 · 0 评论 -
白话机器学习算法(二十)梯度下降算法
梯度下降算法是最优化中很常用的一个算法,原创 2014-07-15 10:11:42 · 1239 阅读 · 0 评论 -
白话机器学习算法(二十一)logistic回归
我们知道最简单的线性回归 y=f(x),表示随着x的变化,原创 2014-07-25 12:44:38 · 2171 阅读 · 0 评论 -
白话机器学习算法(二十二)Adaboost
Adaboost是一种弱分类器转化为强分类器的算法,原创 2014-08-28 20:01:20 · 1089 阅读 · 1 评论 -
白话机器学习算法(二)KNN
KNN是一种分类算法,在现实生活中,我们看一个人怎么样,可以看他的朋友怎么样,至少说这样推断的可信度比较高;KNN就是这种思想。1:)初始化输入为有标签样本;2:)当我们得到一个新样本的时候,我们就看这个新样本的半径为R的周围,各种有标签样本的比例,哪种标签占的比例最高,我们就给这个新样本打上这个标签,就是从这个样本的“朋友”中来判断这个样本是哪一类!原创 2014-03-25 19:57:59 · 2016 阅读 · 0 评论 -
白话机器学习算法(十四)数据降维
数据降维有很多算法,不同算法的原理,目的是不一样的,选择不同的降维算法,取决于1:实际数据的大概分布,即我们最当前数据的一个假定,当实际数据与我们的假定模型比较接近时候,我们才可以用相应的算法;2:我们降维的目的,我们希望在降维以后,保留什么信息,放弃什么信息!;目前降维的主要方法有三类:1)线性方法 2)核方法 3)流形学习方法PCA:前面说过一种坐标变换,换个角度看原创 2014-03-28 11:37:42 · 2155 阅读 · 0 评论 -
白话机器学习算法(一)分层聚类
分层聚类:1):对于若干输入对象,开始时候每个对象都是一类;2):你可以想象一类就是一块磁铁,每次只允许一对磁铁吸在一起,要求是这对磁铁的距离所有距离里最近的,两个磁铁就变成一块大磁铁,他们归为一类(然后更新下这个大磁铁的中心,以便以后算距离),这样总类数就会减少一类;3):直到聚到某个数目,比如最终我要聚到K类;或者设定一个阙值,当最小距离大于这个阙值时停止聚类。在实际的原创 2014-03-25 19:49:13 · 2288 阅读 · 0 评论 -
白话机器学习算法(十)感知机
感知机是神经网络里最简单的一种算法,由误分类驱动。当正确分类时,权值矩阵不变,错误分类时候,用梯度下降法不断极小化目标函数,说得直接点,就是将权值向量的“稍微”指向误分类点。这个方法背后的数学原理,就是梯度下降法。总结:只要线性可分,最终权值向量必然收敛,如果本身就不可分,那么权值向量会“震荡”,算法得不到解;还有一个就是学习率,对应的就是梯度下降法的“步长”;原创 2014-03-28 14:52:49 · 1117 阅读 · 0 评论 -
白话机器学习算法(十三)LVQ
LVQ网络(Learning Vector Quantization)是前面说的SOM的一个变种,但是学习方法仍然是Kohonen的竞争方法,说他是变种,因为这个算法是一种有监督的方法。单看他的名字就知道,这是一种向量量化手段,如果给我K类数据,每类数据若干样本,我要找K个向量来代表这K类数据的模式,最简单的方法就是我对每类求均值,这是个很好的想法,但是如果我每个类中都有若干离群点,那可能会导原创 2014-03-30 19:16:14 · 6962 阅读 · 0 评论 -
白话机器学习算法(十八)决策树
决策树主要分为三个步骤:1)属性选择2)节点生成3)剪枝在属性选择方面,主要有信息增益,与信息增益比信息增益:H(D)-H(D|A)表示在知道A以后,D的熵减少的量;g(D , A)=H(D) - H(D|A)用这种方法,存在选取那些取值较多的特征,为什么?最直观的解释是,当A的取值范围较多,每个取值对应的空间便很小,当知道了A的取值,那么便将整个搜索空间压缩到了一个很小的范围内去确定数据最后的分类,也就是知道A的值最能减少D的不确定性;原创 2014-04-14 16:15:56 · 1851 阅读 · 0 评论 -
白话机器学习算法(十二)聚类,分类的一些总结
所有的聚类问题,都可以简化成 1:找聚类中心的问题;2:距离表示的问题,不同的聚类要求需要有不一样的距离定义;3:数据表示的问题,比如数据降维,特征选择等等。而所有的分类问题1:寻找最优判断准则的问题;2:数据最优表示的问题,比如低维没法分,可以放到高维度上去考虑,比如核方法,又或者像LDA那样,找个新空间,让数据的类内距离变小,类间距变大。这样的方法还有很多,比如流型学习原创 2014-03-29 23:14:33 · 1201 阅读 · 0 评论 -
白话机器学习算法(十一) GMM
GMM就是高斯混合模型,用GMM去聚类的话,就变成了一个似然估计的问题,估计的参数就是选取每个高斯部件的概率,每个高斯各自的均值方差;我们可以把实际数据看做由这个GMM随机数生成器产生的,N个数据就是N个观测值,数据之间独立;根据数据找出这个模型的参数,有了模型参数,我就能简单的算出数据属于哪个高斯部件的概率最大,论文中一般都说responsibility,所以用高斯混合模型来聚类,实质就原创 2014-03-29 22:31:10 · 2026 阅读 · 0 评论 -
白话机器学习算法(十九)CART算法
CART (classification and regression tree)分类与回归树算法原创 2014-04-15 17:16:02 · 1676 阅读 · 0 评论 -
数据挖掘(一)A-Priori
数据挖掘需要挖掘事物之间的关联性,A-Priori是一个购物篮模型,实质上是一个教你快速统计频繁项集的方法,其根据频繁项集的单调性,来减少扫描的次数比如我有很多购物篮,每个篮子里有若干物品,如{青菜,黄瓜}{黄瓜,蘑菇,冬笋}{面条,酱油}{苗条,青菜}我要推断那些物品会同时出现,这样方便推荐,或者说我能发现哪些物品之间有一定的关联性;A-Priori就是干这个的这个算法比较简单,就是原创 2014-03-31 20:45:07 · 1971 阅读 · 0 评论 -
白话机器学习算法(四)K-means
K-means算法是一种无监督聚类算法,还是打个比方吧:1):现在房间里有一群人,各自随机站在房间里,这时候有个上帝,随机挑选了房间里K个人当K个小组的领导;2):选完领导,每个人开始站队了,找离自己最近的那个领导,表示自己是那一队的;3):站完队,大家开始不满了,要求重新选领导,选谁?选这一小组的中心位置的人当领导!4):由于领导换了,大家又要重新站队。然后重新选领导,重新站原创 2014-03-25 20:39:55 · 2248 阅读 · 0 评论 -
白话机器学习算法(十七)熵,条件熵
因为在数据压缩方面,对于小概率事件就要用长的编码,大概率事件用短编码,这样最后平均每个事件的编码就比较小!而对于等概率事件,这种策略就没法使用,就没法实现数据的压缩;熵说的就是这种下界;反过来,当我们说一个事件熵很大,就意味着1:这个事件的取值范围很多2:(或者)这个事件中每个取值的概率比较均匀以上两者都代表着这个事件的不确定性很大,所以我们又说熵是一种不确定性的度量那么什么是条件熵呢,为什么H(A|B)小于等于H(A)呢?原创 2014-04-12 20:48:28 · 2506 阅读 · 0 评论 -
白话机器学习算法(六) PCA
PCA是一种线性映射,目的是为了降维。在机器学习算法中,映射可以降维也可以升高维度,看最终的目的是什么,如果为了简化输入特征,可以降维,如果数据在低维线性不可分,可以考虑将数据映射到高维空间中,那样可能就线性可分了,这就是核方法。PCA属于前者;讲PCA之前我要提几个概念1:投影2:协方差3:正交向量对于1,投影是一个标量,如果我们说 A在B方向上的投影,就是表原创 2014-03-26 16:48:56 · 2180 阅读 · 2 评论