随笔分类 -  Machine Learning in Action系列

基于Python的机器学习常见算法实践
摘要:按照《机器学习实战》的主线,结束有监督学习中关于分类的机器学习方法,进入回归部分。所谓回归就是数据进行曲线拟合,回归一般用来做预测,涵盖线性回归(经典最小二乘法)、局部加权线性回归、岭回归和逐步线性回归。先来看下线性回归,即经典最小二乘法,说到最小二乘法就不得说下线性代数,因为一般说线性回归只通过计算一个公式就可以得到答案,如(公式一)所示:(公式一) 其中X是表示样本特征组成的矩阵,Y表示对应的值,比如房价,股票走势等,(公式一)是直接通过对(公式二)求导得到的,因为(公式二)是凸函数,导数等于零的点就是最小点。(公式二) 不过并不是所有的码农能从(公式二)求导得到(公式一)的解,... 阅读全文
posted @ 2013-10-24 11:25 kobeshow 阅读(557) 评论(0) 推荐(0) 编辑
摘要:Adaboost也是一种原理简单,但很实用的有监督机器学习算法,它是daptive boosting的简称。说到boosting算法,就不得提一提bagging算法,他们两个都是把一些弱分类器组合起来来进行分类的方法,统称为集成方法(ensemble method),类似于投资,“不把鸡蛋放在一个篮子”,虽然每个弱分类器分类的不那么准确,但是如果把多个弱分类器组合起来可以得到相当不错的结果,另外要说的是集成方法还可以组合不同的分类器,而Adaboost和boosting算法的每个弱分类器的类型都一样的。他们两个不同的地方是:boosting的每个弱分类器组合起来的权重不一样,本节的Adabo. 阅读全文
posted @ 2013-09-29 17:11 kobeshow 阅读(495) 评论(0) 推荐(0) 编辑
摘要:做机器学习的一定对支持向量机(support vector machine-SVM)颇为熟悉,因为在深度学习出现之前,SVM一直霸占着机器学习老大哥的位子。他的理论很优美,各种变种改进版本也很多,比如latent-SVM, structural-SVM等。这节先来看看SVM的理论吧,在(图一)中A图表示有两类的数据集,图B,C,D都提供了一个线性分类器来对数据进行分类?但是哪个效果好一些?(图一) 可能对这个数据集来说,三个的分类器都一样足够好了吧,但是其实不然,这个只是训练集,现实测试的样本分布可能会比较散一些,各种可能都有,为了应对这种情况,我们要做的就是尽可能的使得线性分类器离两... 阅读全文
posted @ 2013-09-27 11:14 kobeshow 阅读(1600) 评论(0) 推荐(0) 编辑
摘要:从这节算是开始进入“正规”的机器学习了吧,之所以“正规”因为它开始要建立价值函数(cost function),接着优化价值函数求出权重,然后测试验证。这整套的流程是机器学习必经环节。今天要学习的话题是逻辑回归,逻辑回归也是一种有监督学习方法(supervised machine learning)。逻辑回归一般用来做预测,也可以用来做分类,预测是某个类别^.^!线性回归想比大家都不陌生了,y=kx+b,给定一堆数据点,拟合出k和b的值就行了,下次给定X时,就可以计算出y,这就是回归。而逻辑回归跟这个有点区别,它是一种非线性函数,拟合功能颇为强大,而且它是连续函数,可以对其求导,这点很重要,. 阅读全文
posted @ 2013-09-26 10:00 kobeshow 阅读(772) 评论(0) 推荐(0) 编辑
摘要:贝叶斯决策一直很有争议,今年是贝叶斯250周年,历经沉浮,今天它的应用又开始逐渐活跃,有兴趣的可以看看斯坦福Brad Efron大师对其的反思,两篇文章:“Bayes'Theorem in the 21st Century”和“A250-YEAR ARGUMENT:BELIEF, BEHAVIOR, AND THE BOOTSTRAP”。俺就不参合这事了,下面来看看朴素贝叶斯分类器。 有时我们想知道给定一个样本时,它属于每个类别的概率是多少,即P(Ci|X),Ci表示类别,X表示测试样本,有了概率后我们可以选择最大的概率的类别。要求这个概率要用经典贝叶斯公式,如(公式一)所示:(公式一 阅读全文
posted @ 2013-09-24 19:39 kobeshow 阅读(379) 评论(0) 推荐(0) 编辑
摘要:决策树也是有监督机器学习方法。 电影《无耻混蛋》里有一幕游戏,在德军小酒馆里有几个人在玩20问题游戏,游戏规则是一个设迷者在纸牌中抽出一个目标(可以是人,也可以是物),而猜谜者可以提问题,设迷者只能回答是或者不是,在几个问题(最多二十个问题)之后,猜谜者通过逐步缩小范围就准确的找到了答案。这就类似于决策树的工作原理。(图一)是一个判断邮件类别的工作方式,可以看出判别方法很简单,基本都是阈值判断,关键是如何构建决策树,也就是如何训练一个决策树。(图一)构建决策树的伪代码如下:Check if every item in the dataset is in the same class: If.. 阅读全文
posted @ 2013-09-24 18:15 kobeshow 阅读(563) 评论(0) 推荐(0) 编辑
摘要:机器学习分两大类,有监督学习(supervised learning)和无监督学习(unsupervised learning)。有监督学习又可分两类:分类(classification.)和回归(regression),分类的任务就是把一个样本划为某个已知类别,每个样本的类别信息在训练时需要给定,比如人脸识别、行为识别、目标检测等都属于分类。回归的任务则是预测一个数值,比如给定房屋市场的数据(面积,位置等样本信息)来预测房价走势。而无监督学习也可以成两类:聚类(clustering)和密度估计(density estimation),聚类则是把一堆数据聚成弱干组,没有类别信息;密度估计则是. 阅读全文
posted @ 2013-09-24 16:29 kobeshow 阅读(591) 评论(0) 推荐(0) 编辑
摘要:现在貌似In Action很流行,各种技术抽象成工程商的Action,可以避开繁琐的内部原理,这本书从实践出发,通俗易懂的解释那些常用的机器学习算法,类似跟《集体智慧编程》。这本书中文出版后,我也立马买了一本读读,全书分别介绍了分类,回归,无监督学习以及降维等基本算法,最后还讲了一下Big Data in Machine Learning,利用MRJob写了SVM算法。代码也很规范,另外作者的代码网址https://github.com/pbharrin/machinelearninginaction。 关于本书的算法笔记,我转载了水木统计群里一位群友的笔记http://blog.csdn.. 阅读全文
posted @ 2013-09-24 15:48 kobeshow 阅读(568) 评论(0) 推荐(0) 编辑