【Machine Learning】
文章平均质量分 91
JasonDing1354
关注jasonding.top
展开
-
本博客系列文章导航
机器学习基础引入机器学习算法的分类生成模型和判别模型从感知机模型说起理解为什么机器可以学习——PAC学习模型理解为什么机器可以学习——Hoeffding不等式理解为什么机器可以学习——VC理论VC维与模型复杂度、样本复杂度噪声与误差线性回归基础Logistic回归基础将回归模型用于分类问题非线性变换过拟合机器学习的数学背景系列文章原创 2015-03-04 22:07:23 · 4386 阅读 · 3 评论 -
【机器学习基础】支持向量回归
引言这一小节介绍一下支持向量回归,我们在之前介绍的核逻辑回归使用表示定理(Representer Theorem),将逻辑回归编程Kernel的形式,这一节我们沿着这个思路出发,看看如何将回归问题和Kernel的形式结合起来。Kernel Ridge Regression上次介绍的表示定理告诉我们,如果我们要处理的是有L2的正则项的线性模型,其最优解是数据zn的线性组合。我们可以将这样的线性模型变成原创 2015-05-03 23:36:15 · 21828 阅读 · 1 评论 -
【机器学习基础】核支持向量机
引言在上一小节中,我们介绍了SVM的对偶形式,该形式也可以使用二次规划的方式来求解。 这个对偶形式告诉我们SVM背后的一些集合意义,再者,有了这个对偶问题,我们要求解的难度和转换的高维空间的维度好像没有关系。 在这一小节中,我们就之前未解决的问题继续探讨,使用核技巧的方式高效求解SVM。核技巧(Kernel Trick)在上一小节二次规划问题中的Q矩阵的求解中,我们要计算Z空间的两个向量的内积,原创 2015-04-20 00:32:45 · 2932 阅读 · 0 评论 -
国外程序员整理的机器学习资源大全
本文汇编了一些机器学习领域的框架、库以及软件(按编程语言排序)。C++计算机视觉CCV —基于C语言/提供缓存/核心的机器视觉库,新颖的机器视觉库OpenCV—它提供C++, C, Python, Java 以及 MATLAB接口,并支持Windows, Linux, Android and Mac OS操作系统。通用机器学习MLPackDLibecog转载 2015-04-15 09:47:35 · 1795 阅读 · 0 评论 -
【机器学习基础】对偶支持向量机
引言在上一小节中,我们介绍,用二次规划的方法来求解支持向量机的问题。如果用非线性的特征转化的方式,可以在一个更复杂的Z空间里做二次规划。这种思想是希望通过最大间隔的方式来控制模型的复杂度,通过特征转换来实现复杂的边界。 但是这引入了新的问题:在进行特征转换之后,在新的高维空间中,求解二次规划问题就会变得很困难。甚至在无限大的维度上求解最佳化的问题就变得不可能了。 所以,这一小节,我们要解答的是,原创 2015-04-20 00:31:01 · 3340 阅读 · 0 评论 -
机器学习与深度学习资料
《Brief History of Machine Learning》介绍:这是一篇介绍机器学习历史的文章,介绍很全面,从感知机、神经网络、决策树、SVM、Adaboost到随机森林、Deep Learning.《Deep Learning in Neural Networks: An Overview》介绍:这是瑞士人工智能实验室Jurgen Schmidhuber写的最新版本《神经网络与深原创 2015-04-23 14:49:32 · 4394 阅读 · 3 评论 -
【机器学习基础】核逻辑回归
将软间隔支持向量机看做正则化模型上一小节中我们介绍了软间隔支持向量机,该模型允许有错分类数据的存在,从而使模型对数据有更好的适应性,有效避免过拟合的问题。 现在我们回顾一下松弛变量ξn,我们用ξn来记录违反分类边界的数据到边界的距离。 我们可以从另外一个角度,考虑一下ξn的计算: 对于任何一个点,如果该点违反了边界,那么ξn记录了其到边界的距离;如果没有违反,ξn为0。 所以我们可以原创 2015-04-23 00:00:50 · 5066 阅读 · 0 评论 -
【机器学习基础】软间隔支持向量机
引言在上一小节中,我们介绍了核支持向量机。于是,不管是简单的问题还是复杂的问题,我们都可以做得到。 然而,像高斯核的方法太复杂了,可能造成过拟合的问题。导致过拟合的现象的原因有可能是你选择特征转换太强大了,导致无法用最大间隔的方法控制模型的复杂度,还有一个原因是,如果坚持将所有的数据都做到正确分类,这样有可能将噪声也考虑到模型的构建之中,这样就会将噪声拟合进你的结果中去了。软间隔支持向量机第一步:原创 2015-04-23 00:00:39 · 8736 阅读 · 1 评论 -
程序员初学机器学习的四种方式
英文出处 学习机器学习有很多方法,大多数人选择从理论开始。如果你是个程序员,那么你已经掌握了把问题拆分成相应组成部分及设计小项目原型的能力,这些能力能帮助你学习新的技术、类库和方法。这些对任何一个职业程序员来说都是重要的能力,现在它们也能用在初学机器学习上。要想有效地学习机器学习你必须学习相关理论,但是你可以利用你的兴趣及对知识的渴望,来激励你从实际例子学起,然后再步入对算法的数学理解。通过本文你翻译 2015-04-22 10:12:14 · 2044 阅读 · 1 评论 -
【机器学习实验】用Python进行机器学习实验
概要本文是用Python编程语言来进行机器学习小实验的第一篇。主要内容如下: 读入数据并清洗数据 探索理解输入数据的特点 分析如何为学习算法呈现数据 选择正确的模型和学习算法 评估程序表现的准确性 读入数据 Reading the data当读入数据时,你将面临处理无效或丢失数据的问题,好的处理方式相比于精确的科学来说,更像是一种艺术。因为这部分处理适当可以适用于更多原创 2015-03-12 16:42:09 · 6599 阅读 · 0 评论 -
机器学习中距离和相似性度量方法
在机器学习和数据挖掘中,我们经常需要知道个体间差异的大小,进而评价个体的相似性和类别。最常见的是数据分析中的相关分析,数据挖掘中的分类和聚类算法,如 K 最近邻(KNN)和 K 均值(K-Means)等等。根据数据特性的不同,可以采用不同的度量方法。一般而言,定义一个距离函数 d(x,y), 需要满足下面几个准则: 1) d(x,x) = 0 // 到自己的距离为0 2) d(转载 2015-03-12 19:26:27 · 3074 阅读 · 0 评论 -
【机器学习实验】学习Python来分类现实世界的数据
引入一个机器可以根据照片来辨别鲜花的品种吗?在机器学习角度,这其实是一个分类问题,即机器根据不同品种鲜花的数据进行学习,使其可以对未标记的测试图片数据进行分类。 这一小节,我们还是从scikit-learn出发,理解基本的分类原则,多动手实践。Iris数据集Iris flower数据集是1936年由Sir Ronald Fisher引入的经典多维数据集,可以作为判别分析(discriminant原创 2015-03-12 16:44:08 · 2903 阅读 · 0 评论 -
【机器学习基础】线性可分支持向量机
引言接下里的一系列有关机器学习的博文,我将具体的介绍常用的算法,并且希望在这个过程中尽可能地结合实际应用更加深入的理解其精髓,希望所付出的努力能得到应有的回报。接下来的有关机器学习基础博文主要根据机器学习技法课程的学习,围绕特征转换(feature transforms)这个主要工具,从以下三个方向进行探讨:如果现在有很多特征转换可以使用的时候,我们该如何运用这些特征转换,原创 2015-03-08 15:48:28 · 2141 阅读 · 0 评论 -
【机器学习中的数学】多项式分布及其共轭分布
多项变量(Multinomial Variables)二元变量是用来描述只有两种可能值的量,而当我们遇到一种离散变量,其可以有K种可能的状态。我们可以使用一个K维的向量x表示,其中只有一维xk为1,其余为0。对应于xk=1的参数为μk,表示xk发生时的概率。其分布可以看做是伯努利分布的一般化。 现在我们考虑N个独立的观测D={x1,…,xN},得到其似然函数。如图: 多项式分布(The Mult原创 2015-05-11 22:22:48 · 5786 阅读 · 0 评论 -
开源图计算框架GraphLab介绍
GraphLab介绍GraphLab 是由CMU(卡内基梅隆大学)的Select 实验室在2010 年提出的一个基于图像处理模型的开源图计算框架,框架使用C++语言开发实现。该框架是面向机器学习(ML)的流处理并行计算框架,可以运行在多处理机的单机系统、集群或是亚马逊的EC2 等多种环境下。框架的设计目标是,像MapReduce一样高度抽象,可以高效执行与机器学习相关的、具有稀疏的计算依赖特性的迭代原创 2015-06-08 21:07:53 · 4807 阅读 · 0 评论 -
【机器学习中的数学】基函数与函数空间
引言在学习线性回归模型的时候就会遇到基函数,可能我们会遇到多项式基函数、高斯基函数、sigmoid基函数,当然在高等数学和信号系统中还经常会碰到傅里叶基。有时候,不禁要问,这些基函数为什么这么设计?这些基函数的作用是什么? 后来发现基函数是核方法和字典训练的基础,于是乎,我逐渐有了一些例如特征转换和映射、字典元素的概念。不过还是对基函数与函数空间的关系、基函数的深层认识模棱两可。我希望能通过这篇文原创 2015-11-16 21:23:46 · 19535 阅读 · 1 评论 -
【特征工程】特征选择与特征学习
title: 【特征工程】特征选择与特征学习 date: 2015-11-12 09:38:06 category: Feature Engineering tags: - Machine Learning- Feature Engineering特征选择与特征学习在机器学习的具体实践任务中,选择一组具有代表性的特征用于构建模型是非常重要的问题。特征选择通常选择与类别相关性强、且特征彼此间相原创 2015-11-12 22:52:32 · 14110 阅读 · 1 评论 -
【机器学习中的数学】函数空间
数学的空间数学中的空间概念是要有研究工作的对象和遵循的规则。其中,包含元素和结构。 如线性结构中,定义加法和数乘;拓扑结构中,要有距离、范数、开集三要素。距离范数是具有“长度”概念的函数。 距离、范数可以指向量的距离,我们可以定义以下几种向量的距离: d1(x,y)=sqrt((x1-y1)^2 + … + (xn-yn)^2) d2(x,y) = max{|x1-y1|, …,原创 2015-11-12 22:51:14 · 3431 阅读 · 0 评论 -
【聚类分析】聚类算法初阶引入
1 聚类分析基本概念聚类分析将数据划分成有意义或有用的簇。如果目标是划分成有意义的组,则簇应当捕获数据的自然结构。 聚类分析是一种分类的多元统计分析方法。按照个体或样品的特征将它们分类,使同一类别内的个体具有尽可能高的同质性(homogeneity),而类别之间则应具有尽可能高的异质性(heterogeneity)。 聚类是研究数据间逻辑上或物理上的相互关系的技术,其分析结果不仅可以揭示数据间的原创 2015-11-12 22:49:11 · 5501 阅读 · 0 评论 -
【机器学习技术】高斯过程初探
概述高斯过程是基于统计学习理论和贝叶斯理论发展起来的一种机器学习方法,适于处理高维度、小样本和非线性等复杂回归问题,且泛化能力强,与神经网络、支持向量机相比,GP具有容易实现、超参数自适应获取、非参数推断灵活以及输出具有概率意义等优点。 在统计学和机器学习两个领域中,一些基本理论和算法是共享通用的,但统计学的一个基本关注点在于对数据和模型关系之间的理解,而机器学习的目标主要是用于更准确的预测和对学原创 2015-11-13 15:21:52 · 20958 阅读 · 0 评论 -
【特征工程】特征工程技术与方法
引言在之前学习机器学习技术中,很少关注特征工程(Feature Engineering),然而,单纯学习机器学习的算法流程,可能仍然不会使用这些算法,尤其是应用到实际问题的时候,常常不知道怎么提取特征来建模。 特征是机器学习系统的原材料,对最终模型的影响是毋庸置疑的。特征工程的重要意义数据特征会直接影响你使用的预测模型和实现的预测结果。准备和选择的特征越好,则实现的结果越好。 影响预测结果好坏的原创 2015-07-31 15:43:56 · 17011 阅读 · 2 评论 -
【机器学习基础】梯度提升决策树
引言上一节中介绍了《随机森林算法》,该算法使用bagging的方式作出一些决策树来,同时在决策树的学习过程中加入了更多的随机因素。该模型可以自动做到验证过程同时还可以进行特征选择。 这一节,我们将决策树和AdaBoost算法结合起来,在AdaBoost中每一轮迭代,都会给数据更新一个权重,利用这个权重,我们学习得到一个g,在这里我们得到一个决策树,最终利用线性组合的方式得到多个决策树组成的G。原创 2015-07-26 12:06:06 · 6638 阅读 · 0 评论 -
【机器学习基础】决策树算法
引言在之前的两节博文《混合和装袋》和《自适应提升》中,我们已经有现成的一堆假设g在手中,我们还如何将这些g混合起来,得到更好的分类器。 混合方式可以分为三种情况: 把g看做是同等地位,通过投票或者平均的方式将它们合起来,称为Bagging g是不平等的,有好有坏,一个可行的做法是把g当成是特征的转换,然后丢进线性模型训练就可以了,这称为AdaBoost 如果是不同的条件下,使用不原创 2015-07-26 12:02:23 · 4332 阅读 · 0 评论 -
【机器学习基础】随机森林算法
引入我们回顾一下之前学习的两个算法,Bagging算法中,通过bootstrapping得到不一样的数据,通过这些数据送到一个基本算法之后,得到不同的g,最后对这些g取平均得到G;决策树算法中,通过递归方式建立子树,最终得到一棵完整的树。 这两种算法都有其鲜明的特点,决策树对于不同的数据相对会敏感一些,即其算法的variance很大,而Bagging的特点是通过投票和平均的方式来降低varianc原创 2015-07-26 12:03:42 · 5689 阅读 · 1 评论 -
【机器学习基础】机器学习基础引入
“机器学习”是人工智能的核心研究领域之一, 其最初的研究动机是为了让计算机系统具有人的学习能力以便实现人工智能。事实上,由于“经验”在计算机系统中主要是以数据的形式存在的,因此机器学习需要设法对数据进行分析,这就使得它逐渐成为智能数据分析技术的创新源之一。原创 2014-12-03 14:38:07 · 2407 阅读 · 0 评论 -
【机器学习基础】自适应提升
Weighted Base Algorithm(1)基本算法引入权重 加权这类算法给每个数据一个权重,这个权重可以看做是该数据点有几份。在之前介绍的SVM算法中,对于一个错误扣除C的分数,而对错误加权之后,每个数据点将扣除C·un这个多的分数,这个参数经过二次规划的计算之后,就会到α的上限中去。 对于逻辑回归来说,un可以作为样本(xn,yn)的抽样比例。 这两个例子说明将权重系数放入具体原创 2015-06-11 22:15:45 · 3044 阅读 · 0 评论 -
【机器学习基础】混合和装袋
融合模型(Aggregation Model)如果我们已经得到了一些特征或者假设,它们和我们做机器学习的目标有若干的一致性的话,我们可以将这些假设综合起来,让预测效果变得更好,这样的模型被称为融合模型。 融合模型是通过混合(mix)和组合(combine)一些假设的方式,得到更好的预测结果。 下面列举了四种不同的混合组合方式,并给出了数学表示形式: 当有多个假设时,我们选择检验误差最小原创 2015-06-11 22:14:41 · 2171 阅读 · 0 评论 -
【机器学习基础】验证
模型选择问题(Model Selection Problem)我们在之前得知,通过最小化Ein来选择最好的模型不是一个正确的办法,因为这样可能会付出模型复杂度的代价、造成泛化效果差、造成过拟合的发生。为了解决这个问题,我们的想法是找一些测试数据来看看哪种模型对应测试数据的效果更好,但是用新的测试数据来作这个事情,实际上是做不到的自欺欺人的办法。我们对比这两种方式,用训练数据来作选择原创 2015-03-04 21:21:24 · 1875 阅读 · 0 评论 -
【机器学习基础】机器学习中的三个技巧原则
奥卡姆剃刀原则(Occam's Razor)有一句话是这样说的,"An explanation of the data should be mad as simple as possible,but no simpler"。在机器学习中其意义就是,对数据最简单的解释也就是最好的解释(The simplest model that fits the data is also the mo原创 2015-03-04 21:56:41 · 3667 阅读 · 0 评论 -
【Similarity Search】Multi-Probe LSH——构建高维相似性搜索的高效索引
摘要针对高维数据的相似性索引非常适于构建内容相关的检索系统,尤其对于音频、图像、视频等内容丰富的数据。近年来,位置敏感哈希及其变种算法以近似相似性搜索的索引技术被提出,这些方法的一个显著缺点是需要很多的哈希表来保证良好的搜索效果。该文章提出了一个新的索引策略来克服上述缺点,称作多探头LSH。多探头LSH建立在LSH技术基础上,它可以智能地探测哈希表中可能包含查询结果的多个桶(bucke原创 2015-03-05 11:45:34 · 5050 阅读 · 2 评论 -
【机器学习基础】非线性变换
引言在之前介绍的分类问题中,所涉及的分类的模型都是线性的,在非线性变换这一节中,我们将模型延伸到非线性的情况下来进行数据的分类。二次假设(Quadratic Hypotheses)我们看到上面的例子,在左图中,圆圈和红叉的数据无法用一条直线将其分成两类,那么这这个例子中,我们其实可以用一个大圆圈将数据分类,所以现在我们考虑假设,该假设hSEP(x)是一个过原点的原创 2015-02-01 22:28:14 · 10768 阅读 · 0 评论 -
【scikit-learn】学习Python来分类现实世界的数据
引入一个机器可以根据照片来辨别鲜花的品种吗?在机器学习角度,这其实是一个分类问题,即机器根据不同品种鲜花的数据进行学习,使其可以对未标记的测试图片数据进行分类。这一小节,我们还是从scikit-learn出发,理解基本的分类原则,多动手实践。Iris数据集Iris flower数据集是1936年由Sir Ronald Fisher引入的经典多维数据集,可以作为判别分析(原创 2014-12-25 11:03:00 · 5827 阅读 · 0 评论 -
【机器学习基础】将回归模型用于分类问题
线性模型回顾我们回顾一下之前的三种线性模型,它们的共同点是都要对输入的数据x做一个加权的分数s。下图表示了这三种不同的线性模型的表示方式、误差函数和求解最小的Ein的方法。这里可以看出,PLA算法这种线性分类模型,在求解Ein的时候是很困难的,相对而言,线性回归和logistic回归都有各自求解Ein的方法,那么我们能不能用这两种回归的计算方法来帮助原创 2015-01-13 21:13:33 · 4436 阅读 · 0 评论 -
机器学习中的相似性度量,方法汇总对比
在做分类时常常需要估算不同样本之间的相似性度量(Similarity Measurement),这时通常采用的方法就是计算样本间的“距离”(Distance)。采用什么样的方法计算距离是很讲究,甚至关系到分类的正确与否。本文的目的就是对常用的相似性度量作一个总结。本文目录:1. 欧氏距离2. 曼哈顿距离3. 切比雪夫距离4. 闵可夫斯基距离5转载 2015-01-12 10:30:33 · 2680 阅读 · 0 评论 -
【机器学习基础】Logistic回归基础
soft binary classificationLogistics回归模型要解决的是分类问题,在之前的二元分类问题中,我们将数据分成正例和负例,但是像PLA算法一样,用单位阶跃函数来处理的这种瞬间跳跃的过程有时很难处理。于是,我们希望能得到正例的概率值是多少。logistic regression的假设我们在PLA和线性回归算法中都用数据的加权来计算一个分数原创 2015-01-11 16:37:19 · 2625 阅读 · 0 评论 -
【机器学习基础】机器学习算法的分类——关于如何选择机器学习算法和适用解决的问题
系统的学习机器学习课程让我觉得受益匪浅,有些基础问题的认识我觉得是非常有必要的,比如机器学习算法的类别。为什么这么说呢?我承认,作为初学者,可能无法在初期对一个学习的对象有全面而清晰的理解和审视,但是,对一些关键概念有一个初步并且较为清晰的认识,有助于让我们把握对问题的认识层次,说白了,就是帮助我们有目的的去学习心得知识,带着问题去学习,充满对解决问题的动力去实验,我觉得这种方式是有益并且良性的。原创 2014-12-04 10:13:23 · 3904 阅读 · 0 评论 -
【机器学习基础】线性回归基础
线性回归描述线性回归问题就是要找出一个最好超平面使得数据点距离这个平面的误差(residuals)最小。传统上,最常用的是均方误差来评价这个误差。求解最小的训练误差现在我们要做的是如何选择参数w,使得训练误差Ein越小越好。首先,我们把计算过程用矩阵形式表示出来,使表示更加简洁。这里xn表示成列向量的形式,然后将加和的形式表示成向量的长度,进而将原创 2015-01-08 08:33:05 · 2591 阅读 · 0 评论 -
【机器学习基础】VC维与模型复杂度、样本复杂度
引言上一小节,我们引入了VC维的概念,用它来描述假设集合的表达能力。这一小节中,我们将从VC维的物理意义出发,进一步学习如何根据VC维传达的信息来选择模型和假设集合。VC维的物理意义如果我们将假设集合的数量|H|比作假设集合的自由度,那么VC维就是假设集合在做二元分类的有效的自由度,即这个假设空间能够产生多少Dichotomies的能力(VC维说的是,到什么时候,假设集合还原创 2014-12-18 19:01:20 · 9392 阅读 · 0 评论 -
【机器学习基础】生成模型和判别模型
监督学习的任务就是学习一个模型(或者得到一个目标函数),应用这一模型,对给定的输入预测相应的输出。这一模型的一般形式为一个决策函数Y=f(X),或者条件概率分布P(Y|X)。监督学习方法又可以分为生成方法(generative approach)和判别方法(discriminative approach)。所学到的模型分别为生成模型(generative model)和判别模型(discriminative model)。原创 2014-12-03 14:39:30 · 3206 阅读 · 0 评论 -
【计算机视觉】对检测的人脸进行剪切和归一化
引子要进行人脸的识别,尤其是复杂环境下的人脸识别,就要在捕获人脸图像之后对图像进行预处理的工作,如图像的大小和灰度的归一化,头部姿态的矫正,图像分割等。这样做的目的是改善图像质量,消除噪声,统一图像灰度值及尺寸,为后序特征提取和分类识别打好基础。该文将就人脸的剪切和归一化操作进行学习探讨,并做一笔记备用。具体步骤由于opencv的人脸识别需要输入图片具有相同的尺寸和灰度原创 2014-12-17 21:53:11 · 10999 阅读 · 0 评论