最近开始学习Coursera上的斯坦福机器学习视频,我是刚刚接触机器学习,对此比较感兴趣:准备将我的学习笔记写下来, 作为我每天学习的签到吧,也希望和各位朋友交流学习. 这一系列的博客,我会不定期的更新,希望大家多多批评指正. Supervised Learning(监督学习) 在监督学习中,我们的数据集包括了算法的输出结果,比如具体的类别(分类问题)或数值(回归问题),输入和输出存在某种对应关系. 监督学习大致可分为回归(classification)和分类(regression). 回归:对…
学习Coursera上的斯坦福机器学习课程的时候,需要向其服务器提交编程作业,我遇到如下问题: 'Submission failed: unexpected error: urlread: Peer certificate cannot be authenticated with given CA certificates. ' 我使用的是Win 7 64位操作系统,Octave 4.2.0, 然后我在课程论坛上发现这个问题还比较多,然后解决办法也很多, 后来仔细看了一下Mentor的解决方法,…
版权声明:本文为博主原创文章,转载请注明出处. https://blog.csdn.net/Dinosoft/article/details/34960693 前言 说到机器学习,非常多人推荐的学习资料就是斯坦福Andrew Ng的cs229.有相关的视频和讲义.只是好的资料 != 好入门的资料,Andrew Ng在coursera有另外一个机器学习课程,更适合入门. 课程有video,review questions和programing exercises,视频尽管没有中文字幕,只是看演示的…
[机器学习详解]SMO算法剖析 转载请注明出处:http://blog.csdn.net/luoshixian099/article/details/51227754 CSDN−勿在浮沙筑高台 本文力求简化SMO的算法思想,毕竟自己理解有限,无奈还是要拿一堆公式推来推去,但是静下心看完本篇并随手推导,你会迎刃而解的.推荐参看SMO原文中的伪代码. 1.SMO概念 上一篇博客已经详细介绍了SVM原理,为了方便求解,把原始最优化问题转化成了其对偶问题,因为对偶问题是一个凸二次规划问题,这样的凸二次规…
最近开始学习Coursera上的斯坦福机器学习视频,我是刚刚接触机器学习,对此比较感兴趣:准备将我的学习笔记写下来, 作为我每天学习的签到吧,也希望和各位朋友交流学习. 这一系列的博客,我会不定期的更新,希望大家多多批评指正. Supervised Learning(监督学习) 在监督学习中,我们的数据集包括了算法的输出结果,比如具体的类别(分类问题)或数值(回归问题),输入和输出存在某种对应关系. 监督学习大致可分为回归(classification)和分类(regression). 回归:对…
从上一篇文章可知支持向量(supervector)就是指的离分隔超平面近期的那些点.整个SVM最须要的步骤是训练分类器.得到alpha,从而得到整个用于数据分类的分隔超平面.支持向量机(super vector machine.SVM)的一般应用流程例如以下: (1)      收集数据:能够使用随意方法 (2)      准备数据:须要数值型数据 (3)      分析数据:有助于可视化分隔超平面 (4)      训练算法:SVM的大部分时间源自训练.该过程主要实现两个參数的调优 (5)  …
斯坦福大学机器学习 课程信息 机器学习是一门研究在非特定编程条件下让计算机采取行动的学科.最近二十年,机器学习为我们带来了自动驾驶汽车.实用的语音识别.高效的网络搜索,让我们对人类基因的解读能力大大提高.当今机器学习技术已经非常普遍,您很可能在毫无察觉情况下每天使用几十次.许多研究者还认为机器学习是人工智能(AI)取得进展的最有效途径.在本课程中,您将学习最高效的机器学习技术,了解如何使用这些技术,并自己动手实践这些技术.更重要的是,您将不仅将学习理论知识,还将学习如何实践,如何快速使用强大的技…
使用的工具:NumPy和Matplotlib NumPy是全书最基础的Python编程库.除了提供一些高级的数学运算机制以外,还具备非常高效的向量和矩阵运算功能.这些对于机器学习的计算任务是尤为重要的.因为不论是数据的特征表示也好,还是参数的批量设计也好,都离不开更加快捷的矩阵和向量计算.而NumPy更加突出的是它内部独到的设计,使得处理这些矩阵和向量计算比起一般程序员自行编写,甚至是Python自带程序库的运行效率都要高出许多. Matplotlib是一款Python编程环境下免费试用的绘图工…
我们将学习如何系统地提升机器学习算法,告诉你学习算法何时做得不好,并描述如何'调试'你的学习算法和提高其性能的“最佳实践”.要优化机器学习算法,需要先了解可以在哪里做最大的改进. 我们将讨论如何理解具有多个部分的机器学习系统的性能,以及如何处理偏斜数据. Evaluating a Hypothesis 设想当你训练的模型对预测数据有很大偏差的时候,接下来你会选择怎么做? 这个需要花时间去实现,但是对你的帮助也会很大,使你不盲目的做一些决定来提升算法,而是直观地看出哪些是对提升算法是有效的. 我们…
监督学习算法需要标记的样本(x,y),但是无监督学习算法只需要input(x). 您将了解聚类 - 用于市场分割,文本摘要,以及许多其他应用程序. Principal Components Analysis, 经常用于加快学习算法,同时对于数据可视化以帮助你对数据的理解也有很大的帮助. Unsupervised learning Introduction supervised learning:在前面几课我们学习的都是属于监督性学习的内容,包括回归和分类,主要特点就是我们使用的数据集都是类似(x…
我们将讨论逻辑回归. 逻辑回归是一种将数据分类为离散结果的方法. 例如,我们可以使用逻辑回归将电子邮件分类为垃圾邮件或非垃圾邮件. 在本模块中,我们介绍分类的概念,逻辑回归的损失函数(cost functon),以及逻辑回归对多分类的应用. 我们还涉及正规化. 机器学习模型需要很好地推广到模型在实践中没有看到的新例子. 我们将介绍正则化,这有助于防止模型过度拟合训练数据. Classification 分类问题其实和回归问题相似,不同的是分类问题需要预测的是一些离散值而不是连续值. 如垃圾邮件分…
Kmeans算法简介 作为无监督学习领域的一种简单的算法,Kmeans在实际应用中却是相当广泛的.其过程是通过不断交替迭代求得最优的类中心以及每个样本所属类别,具体步骤如下: 确定类别个数k 随机初始化k个类的中心,分别为(\mu_1, \mu_2, -, \mu_k ) 确定每个样本类别,原则为样本与类中心距离最小,即 \begin{aligned} c^{(i)}=\underset{j}{arg min}Dist(x^{(i)}, \mu_j) \end{aligned} 更新每个类的中心…
异常检测,广泛用于欺诈检测(例如“此信用卡被盗?”). 给定大量的数据点,我们有时可能想要找出哪些与平均值有显着差异. 例如,在制造中,我们可能想要检测缺陷或异常. 我们展示了如何使用高斯分布来建模数据集,以及如何将模型用于异常检测. 我们还将涵盖推荐系统,这些系统由亚马逊,Netflix和苹果等公司用于向其用户推荐产品. 推荐系统查看不同用户和不同产品之间的活动模式以产生这些建议. 在这些课程中,我们介绍推荐算法,如协同过滤算法和低秩矩阵分解. Problem Motivation 上面是一个…
SVM被许多人认为是最强大的“黑箱”学习算法,并通过提出一个巧妙选择的优化目标,今天最广泛使用的学习算法之一. Optimization Objective 根据Logistic Regression,有如下表述: 为了达到尽量好的分类效果,我们需要theta‘*x >> 0 or theta‘*x << 0,根据上面的函数图象,这时候的h(x)->1 or h(x)->0,可以看出这时我们的分类效果是最具说服力的. 根据逻辑回归的Cost Function我们可以得到…
神经网络是一种受大脑工作原理启发的模式. 它在许多应用中广泛使用:当您的手机解释并理解您的语音命令时,很可能是神经网络正在帮助理解您的语音; 当您兑现支票时,自动读取数字的机器也使用神经网络. Non-linear Classification 当输入数据特征过多,像上面的例子,当使用三次幂的特征时,可以超过170,000项,使我们的逻辑回归难以运行. 还有在计算机视觉中,图片的表示是通过像素矩阵表示的,如上图所示.那么假设一个图片是简单的50×50px,其特征数为2500(7500 if RG…
相比于week1中讨论的单变量的线性回归,多元线性回归更具有一般性,应用范围也更大,更贴近实际. Multiple Features 上面就是接上次的例子,将房价预测问题进行扩充,添加多个特征(features),使问题变成多元线性回归问题. 多元线性回归将通过更多的输入特征,来预测输出.上面有新的Notation(标记)需要掌握. 相比于之前的假设: 我们将多元线性回归的假设修改为: 每一个xi代表一个特征:为了表达方便,令x0=1,可以得到假设的矩阵形式: 其中,x和theta分别表示: 所…
Exercise 4: Logistic Regression and Newton’s Method 回顾一下线性回归 hθ(x)=θTx Logistic Regression hθ(x)=11+e−θTx=p{y=1|x;θ} cost(hθ(x),y)的选择 cost(hθ(x),y)=−loghθ(x) (y=1) 选择对数似然损失函数作为逻辑回归的Cost Function 原因是这个cost函数是凸函数,具有碗状的形状,而凸函数具有良好的性质:对 于凸函数来说局部最小值点即为全局最…
Exercise 3: Multivariate Linear Regression 预处理数据 Preprocessing the inputs will significantly increase gradient descent’s efficiency Matlab代码 x=load('L:\\MachineLearning2016\\ex3x.dat'); y=load('L:\\MachineLearning2016\\ex3y.dat'); m = length(x(:,1));…
Exercise 2: Linear Regression 话说LaTex用起来好爽 Matlab代码 迭代并且画出拟合曲线 Linear regression 公式如下 hθ(x)=θTx=∑i=0nθixi (i是代表x的个数) batch gradient descent update rule θj:=θj−α1m∑i=1m(h(i)θ−y(i))x(i)j(for all j) α=0.07 x = load('L:\\MachineLearning2016\\ex2x.dat');…
注:关于支持向量机系列文章是借鉴大神的神作,加以自己的理解写成的:若对原作者有损请告知,我会及时处理.转载请标明来源. 序: 我在支持向量机系列中主要讲支持向量机的公式推导,第一部分讲到推出拉格朗日对偶函数的对偶因子α:第二部分是SMO算法对于对偶因子的求解:第三部分是核函数的原理与应用,讲核函数的推理及常用的核函数有哪些:第四部分是支持向量机的应用,按照机器学习实战的代码详细解读. 机器学习之支持向量机(一):支持向量机的公式推导 机器学习之支持向量机(二):SMO算法 机器学习之支持向量机(…
笔者寄语:机器学习中交叉验证的方式是主要的模型评价方法,交叉验证中用到了哪些指标呢? 交叉验证将数据分为训练数据集.测试数据集,然后通过训练数据集进行训练,通过测试数据集进行测试,验证集进行验证. 模型预测效果评价,通常用相对绝对误差.平均绝对误差.根均方差.相对平方根误差等指标来衡量. 只有在非监督模型中才会选择一些所谓"高大上"的指标如信息熵.复杂度和基尼值等等. 其实这类指标只是看起来老套但是并不"简单",<数据挖掘之道>中认为在监控.评估监督模型…
机器学习牛人博客 机器学习实战之SVM 三种SVM的对偶问题 拉格朗日乘子法和KKT条件 支持向量机通俗导论(理解SVM的三层境界) 解密SVM系列(一):关于拉格朗日乘子法和KKT条件 解密SVM系列(二):SVM的理论基础 解密SVM系列(三):SMO算法原理与实战求解 (一)关于拉格朗日乘子法 首先来了解拉格朗日乘子法,那么为什么需要拉格朗日乘子法?记住,有拉格朗日乘子法的地方,必然是一个组合优化问题.那么带约束的优化问题很好说,就比如说下面这个:   minf=2x21+3x22+7x2…
之前一篇笔记: Python机器学习笔记:不得不了解的机器学习知识点(1) 1,什么样的资料集不适合用深度学习? 数据集太小,数据样本不足时,深度学习相对其它机器学习算法,没有明显优势. 数据集没有局部相关特性,目前深度学习表现比较好的领域主要是图像/语音/自然语言处理等领域,这些领域的一个共性是局部相关性.图像中像素组成物体,语音信号中音位组合成单词,文本数据中单词组合成句子,这些特征元素的组合一旦被打乱,表示的含义同时也被改变.对于没有这样的局部相关性的数据集,不适于使用深度学习算法进行处理…
2017-05-04 机器之心 选自KDnuggets 作者:Thuy T. Pham 机器之心编译 参与:微胖.黄小天 虽然 YouTube 有很多不错的机器学习视频,但是很难搞清楚是否值得一看,何况每分钟上传的视频长达 300 小时.在本文中,我们整理了观看量最高的十大机器学习视频.今天这篇推送更新了之前颇受欢迎的博文(2015 年 Youtube 最受欢迎十大机器学习视频,https://goo.gl/6ElLdd).另外,我们也添加了 4 个最受欢迎的相关视频列表(本文第二部分). 这份…
前言 支持向量机(Support Vector Machine,SVM)在70年代由苏联人 Vladimir Vapnik 提出,主要用于处理二分类问题,也就是研究如何区分两类事物. 本文主要介绍支持向量机如何解决线性可分和非线性可分问题,最后还会对 SMO 算法进行推导以及对 SMO 算法的收敛性进行简要分析,但受限于篇幅,本文不会对最优化问题.核函数.原问题和对偶问题等前置知识做过于深入的介绍,需要了解相关知识的读者朋友请移步其它文章.资料. SVM 推导过程主要参考自胡浩基教授的机器学习公…
原文链接:http://blog.csdn.net/v_july_v/article/details/7624837 作者:July.pluskid :致谢:白石.JerryLead 出处:结构之法算法之道blog. 前言 动笔写这个支持向量机(support vector machine)是费了不少劲和困难的,原因很简单,一者这个东西本身就并不好懂,要深入学习和研究下去需花费不少时间和精力,二者这个东西也不好讲清楚,尽管网上已经有朋友写得不错了(见文末参考链接),但在描述数学公式的时候还是显得…
第一步.初步了解SVM 1.0.什么是支持向量机SVM 要明白什么是SVM,便得从分类说起. 分类作为数据挖掘领域中一项非常重要的任务,它的目的是学会一个分类函数或分类模型(或者叫做分类器),而支持向量机本身便是一种监督式学习的方法,它广泛的应用于统计分类以及回归分析中. 支持向量机(SVM)是90年代中期发展起来的基于统计学习理论的一种机器学习方法,通过寻求结构化风险最小来提高学习机泛化能力,实现经验风险和置信范围的最小化,从而达到在统计样本量较少的情况下,亦能获得良好统计规律的目的. 通俗来…
转自:http://blog.csdn.net/v_july_v/article/details/7624837 目录(?)[-] 支持向量机通俗导论理解SVM的三层境界 前言 第一层了解SVM 1分类标准的起源Logistic回归 2线性分类的一个例子 3函数间隔Functional margin与几何间隔Geometrical margin 4最大间隔分类器Maximum Margin Classifier的定义 第二层深入SVM 1从线性可分到线性不可分 11从原始问题到对偶问题的求解 1…
支持向量机通俗导论(理解SVM的三层境界) 原文:http://blog.csdn.net/v_JULY_v/article/details/7624837 作者:July .致谢:pluskid.白石.JerryLead.说明:本文最初写于2012年6月,而后不断反反复复修改&优化,修改次数达上百次,最后修改于2016年11月.声明:本文于2012年便早已附上所有参考链接,并注明是篇“学习笔记”,且写明具体参考了pluskid等人的文章.文末2013年的PDF是为证. 前言 动笔写这个支持向量…