随笔分类 - 机器学习
机器学习基础
摘要:多变量线性回归在这个练习中,我们主要解决的问题是房价的数据,在数据集中http://openclassroom.stanford.edu/MainFolder/courses/MachineLearning/exercises/ex3materials/ex3Data.zip数据是Portland,...
阅读全文
摘要:对于深度学习的基础,线性回归以及逻辑回归,下面针对这两个方面做一个练习。 例子主要参考http://openclassroom.stanford.edu/MainFolder/CoursePage.php?course=DeepLearning 一、线性回归 下载数据http://openclassroom.stanford.edu/MainFolder/courses/DeepLearni...
阅读全文
摘要:按照教程http://cn.soulmachine.me/blog/20140205/搭建总是出现如下问题: 2014-04-13 23:53:45,450 INFO org.apache.hadoop.hdfs.server.common.Storage: Lock on /home/hadoop/local/var/hadoop/hdfs/datanode/in_use.lock acquir...
阅读全文
摘要:首先给出一组数据: critics={'Lisa Rose': {'Lady in the Water': 2.5, 'Snakes on a Plane': 3.5, 'Just My Luck': 3.0, 'Superman Returns': 3.5, 'You, Me and Dupree': 2.5, 'The Night Listener': 3.0},'Gene Seymour'...
阅读全文
摘要:理解置信度、支持度的定义以及最小置信度和最小支持度。 这几个概念要搞明白。 我们要做的事情就是在数据集中找出所有支持度大于最小支持度,置信度大于最小置信度的关联规则。 关联规则的挖掘所面临的问题就是数据量大,则如何提高算法的效率就是我们主要要解决的问题。 另外一个概念就是频繁项集,支持度大于最小支持度的数据项集就是频繁项集。 由于置信度通过支持度就可以求出,所以我们的关键问题就是如何求支...
阅读全文
摘要:下面介绍无监督机器学习算法,与前面分类回归不一样的是,这个不知道目标变量是什么,这个问题解决的是我们从这些样本中,我们能发现什么。 这下面主要讲述了聚类算法,跟数据挖掘中的关联挖掘中的两个主要算法。 K均值算法工作流程,首先随机确定k个初始点作为质心。然后将数据集中的每个点分配到一个簇中。 具体的讲就是为每个点找到最近的质心,并将其分配给该质心所对应的簇,这一步完成之后,每个簇的质心更新为该...
阅读全文
摘要:在前面线性回归,线性回归要拟合全部样本,这个是不显示的,因为问题不一定就是线性模型,其中一种可行的方法是将数据集切分成多分易建模的数据,然后利用前面线性回归的方法来建模。如果第一个切分之后的数据还不好拟合的话,那就继续切分。 这就是决策树中一种叫分类回归树CART。这个算法即可以用于分类也可以用于回归。 在这个学习中,介绍了树剪枝算法。 CART算法实现 先看一下之前的树分类 from ...
阅读全文
摘要:对于之前在分类问题中有逻辑回归,而对于这个线性回归以前一般是先讲述,将线性回归的结果通过函数映射到(0,1)区间,再以0.5作为区分形成分类问题。 具体的计算方法,在以前的blogs提到过,参考:http://www.cnblogs.com/fengbing/archive/2013/05/15/3079033.html 下面就直接实战 跟之前一样,第一步导入数据。 def loadDat...
阅读全文
摘要:集成学习方法是机器学习领域中用来提升分类算法准确率的技术,主要包括Bagging和Boosting即装袋和提升。我们这主要讲述Boosting中代表性算法AdaBoost元算法基于数据集多重抽样的分类器前面介绍了K近邻算法、决策树算法、朴素贝叶斯算法、逻辑回归以及支持向量机这些算法各有优缺点,我们自然可以将不同的分类器组合起来,这种组合的结果就被称为集成方法,有时也叫元算法。集成也分几种:1、不同算法的集成2、同一种算法在不同设置下的集成3、数据集的不同部分分配给不同分类器之后的集成。本文主要关心一个最流行的版本AdaBoost这个算法的主要思路:训练数据集中的每一个样本,并给每个样本赋予一个
阅读全文
摘要:支持向量机,作为新手,给出新手的学习心得,可能能让新手更容易理解吧。对于SVM的讲解,网上已经很多了,支持向量机通俗导论(理解SVM的三层境界) 这一篇blog写得很好,不过对于一个新手来说,我感觉行文逻辑还是有点怪,作者的写法是遇到问题解决问题,无可厚非这是一个很好的学习习惯,不过真正让学习的人看起来却没有一个提纲挈领的作用,而这次学习遇到这个算法,写下自己的学习笔记,里面也写了一点自己学习的思路,只是代表自己的一点愚见,本文主要参考上述blog以及该blog列出的参考文献。python算法实现,仍然是机器学习实战这本书。SVM怎么用学习这个东西就是为了用这个东西,目前网上有很多开源,免费的
阅读全文
摘要:对于线性回归、logistic回归,在以前准备学习深度学习的时候看过一点,当时的数学基础有点薄弱,虽然现在还是有点差,当时看到神经网络之后就看不下去了。不过这次是通过python对logistic回归进行编码实现。线性回归跟逻辑回归介绍就不多说了。网上有很多很好的讲解。另外我之前也写过自己学习斯坦福Andrew.Ng的课程的笔记,如下:http://www.cnblogs.com/fengbing/archive/2013/05/15/3079033.htmlhttp://www.cnblogs.com/fengbing/archive/2013/05/15/3079399.htmlhttp:
阅读全文
摘要:y是连续的则是一个回归问题,y是离散的则是一个分类问题,这边就开始考虑y是离散的情况。对于这样的问题很多,比如判断一个人是否生病,或者判断一个邮件是否是垃圾邮件。回归时连续型的,一般不用在上述的分类问题中,因为其受噪音的影响比较大,如果要把一个回归方法用到分类上的话,那就是logistic回归。之所以叫其回归,因为其本质上还是线性回归,只是在特征到结果中加了一层函数映射。对于这边也就是使用一个g(z)将连续的值映射到0跟1上面。下面就是将线性带入到g(z)中。则可以得到:对于我们考虑的问题是将连续的问题离散化,下面就带来两个问题,到底怎么做,还有就是为什么使用这个g(z)呢。至于为什么使用这个
阅读全文
摘要:朴素贝叶斯,基本思想就是,给出一个分类问题,对于待求项,属于哪个分类的概率最大,那这个待求项就属于哪个分类。 给出基本公式 假设要分类物有n个特征,分别为F1、F2、F3、…、Fn,现在有m个类别分别是C1、C2、C3、…、Cm.贝叶斯就是计算出概率最大的那个分类。 具体贝叶斯定理参考http://zh.wikipedia.org/wiki/%E8%B4%9D%E5%8F%B6%E6%96%...
阅读全文
摘要:决策树的思想比较简单,不复杂,决策树,就是通过一个属性将数据进行划分,而这个属性的选择也就是决策树的关键,用什么样的属性分开的值尽可能属于同一个类别。属性选择的方法很多,书中主要介绍了:通过信息增益、增益比率、以及基尼指数.具体伪代码书中给出:本文采用了ID3算法划分数据集。该算法采用了一个叫信息增益的概念,关于信息论的部分,曾经写过一文http://www.cnblogs.com/fengbing/archive/2011/12/15/2288801.html中有部分阐述。我的理解就是,信息是什么,怎么度量,也就是信息经过压缩之后还能代表本身的最小值,这个可以根据霍夫曼编码看出。具体说明:考
阅读全文
摘要:自己一直学习计算机视觉方面的东西,现在想学习一下数据挖掘跟搜索引擎,自己基础也有点薄弱,看朱明的那本数据挖掘,只能片面的了解这个数据挖掘。不过最近有一本书 机器学习实战,于是乎通过实战的形式了解一下基本的算法的执行过程。在算法当中,很多都是相通的,模式识别、机器学习、数据挖掘、自然语言处理等等这些算法归结起来其实差不了多少,题外话不多说了,好好学习。k近邻算法对于这个算法,我用自己的话来描述一下,就是把一个未知数与所有已有的数据样本求距离,对距离进行排序,取前k个数,这k这个数中,那个类别多,那这个未知数就属于哪个类别。不用说,大家也知道这个k的选取还是很重要的。先用书上最简单的例子表述一下。
阅读全文
摘要:softmax回归可以解决两种以上的分类,该模型是logistic回归模型在分类问题上的推广。 对于y可以取两个以上的值,比如说判断一份邮件是垃圾邮件、个人邮件还是工作邮件。 这边也参考http://deeplearning.stanford.edu/wiki/index.php/Softmax%E5%9B%9E%E5%BD%92 即,对于训练集,我们有 也就是对于给定的输入x,我们想用假...
阅读全文
摘要:在前面我们曾经有一个问题,就是在logistic回归中,我们为什么用对于这个问题,我们先定义了一个一般线性模型一般为y,就是我们前面所说的真实值y这个分布也就是指数分布伯努利分布,高斯分布,泊松分布,贝塔分布,狄特里特分布都可以用这个指数分布来表示。在对数回归时采用的是伯努利分布,对于伯努利分布,可以表示成则我们对照上面的一般线性模型解,这边也就看到我们为什么用上面的g(z)的原因对于正态分布,为了简单起见,则对照上面的一般线性模型。有这个也就是我们前面的线性回归。好的,下面总结一下思路:1. 对于我们要估计的值,我们就将其转化到某个分布中去,(特定的问题转化到特定的分布)比如分类问题,我们只
阅读全文
摘要:牛顿法解最大似然估计 对于之前我们解最大似然估计使用了梯度下降法,这边我们使用牛顿法,速度更快。 牛顿法也就是要求解,可导,θ用下面进行迭代。 具体看这个图 对于我们刚刚的求最大似然估计,也就是,则 下面在原理上说一说。 摘自:http://blog.csdn.net/luoleicn/article/details/6527049 对于一个目标函数f,求函数f的极大...
阅读全文
摘要:y是连续的则是一个回归问题,y是离散的则是一个分类问题,这边就开始考虑y是离散的情况。对于这样的问题很多,比如判断一个人是否生病,或者判断一个邮件是否是垃圾邮件。回归时连续型的,一般不用在上述的分类问题中,因为其受噪音的影响比较大,如果要把一个回归方法用到分类上的话,那就是logistic回归。之所以叫其回归,因为其本质上还是线性回归,只是在特征到结果中加了一层函数映射。对于这边也就是使用一个g(z)将连续的值映射到0跟1上面。下面就是将线性带入到g(z)中。则可以得到:对于我们考虑的问题是将连续的问题离散化,下面就带来两个问题,到底怎么做,还有就是为什么使用这个g(z)呢。至于为什么使用这个
阅读全文
摘要:为什么采用平方和作为错误估计函数,不是不是绝对值或者4次方之类。 假设根据特征的预测结果跟实际结果之间有误差,误差为,那么真实值跟预测值之间有如下关系: 这个i指的是每一个训练数据。 对于误差,前面提到过图像产生的误差,根据中心极限定理,一般的误差服从正态分布。 假设误差服从,则 即: 上式是θ是参数,是y在x下的条件概率。 这个也就转化成了,我们已经知道了试验结果,就是知道...
阅读全文

浙公网安备 33010602011771号