
机器学习
flash_gogogo
这个作者很懒,什么都没留下…
展开
-
[机器学习实验5]朴素贝叶斯(筛选垃圾邮件)
本次实验是使用生成学习算法来处理数据(筛选垃圾邮件)。 判别学习算法(discriminative learning algorithm):直接学习p(y|x)(比如说logistic回归)或者说是从输入直接映射到{0,1}. 生成学习算法(generative learning algorithm):对p(x|y)(和p(y))进行建模,比如高斯判别法(GDA)和朴素贝叶斯法,前者是用来处理连原创 2017-09-06 11:15:01 · 1462 阅读 · 0 评论 -
机器学习技法课程学习笔记7 -- Blending and Bagging
上节课我们主要介绍了Support Vector Regression,将kernel model引入到regression中。首先,通过将ridge regression和representer theorem结合起来,得到kernel ridge regression。但是其解是dense的,即不部分不为零。为了得到sparse解,我们将regularized tube error和Lagra转载 2017-10-12 15:00:30 · 604 阅读 · 0 评论 -
机器学习技法课程学习笔记9 -- Decision Tree
上节课我们主要介绍了Adaptive Boosting。AdaBoost演算法通过调整每笔资料的权重,得到不同的hypotheses,然后将不同的hypothesis乘以不同的系数α进行线性组合。这种演算法的优点是,即使底层的演算法g不是特别好(只要比乱选好点),经过多次迭代后算法模型会越来越好,起到了boost提升的效果。本节课将在此基础上介绍一种新的aggregation算法:决策树(Deci转载 2017-10-12 15:01:37 · 1172 阅读 · 0 评论 -
机器学习技法课程学习笔记10 -- Random Forest
上节课我们主要介绍了Decision Tree模型。Decision Tree算法的核心是通过递归的方式,将数据集不断进行切割,得到子分支,最终形成数的结构。C&RT算法是决策树比较简单和常用的一种算法,其切割的标准是根据纯度来进行,每次切割都是为了让分支内部纯度最大。最终,决策树不同的分支得到不同的gt(x)(即树的叶子,C&RT算法中,gt(x)是常数)。本节课将介绍随机森林(Random转载 2017-10-12 15:02:39 · 303 阅读 · 0 评论 -
机器学习技法课程学习笔记11 -- Gradient Boosted Decision Tree
上节课我们主要介绍了Random Forest算法模型。Random Forest就是通过bagging的方式将许多不同的decision tree组合起来。除此之外,在decision tree中加入了各种随机性和多样性,比如不同特征的线性组合等。RF还可以使用OOB样本进行self-validation,而且可以通过permutation test进行feature selection。本节课转载 2017-10-12 15:03:47 · 921 阅读 · 0 评论 -
机器学习技法课程学习笔记12-- Neural Network
上节课我们主要介绍了Gradient Boosted Decision Tree。GBDT通过使用functional gradient的方法得到一棵一棵不同的树,然后再使用steepest descent的方式给予每棵树不同的权重,最后可以用来处理任何而定error measure。上节课介绍的GBDT是以regression为例进行介绍的,使用的是squared error measure。本转载 2017-10-12 15:04:31 · 368 阅读 · 0 评论 -
机器学习技法课程学习笔记13-- Deep Learning
上节课我们主要介绍了神经网络Neural Network。神经网络是由一层一层的神经元构成,其作用就是帮助提取原始数据中的模式即特征,简称为pattern feature extraction。神经网络模型的关键是计算出每个神经元的权重,方法就是使用Backpropagation算法,利用GD/SGD,得到每个权重的最优解。本节课我们将继续对神经网络进行深入研究,并介绍层数更多、神经元个数更多、模转载 2017-10-12 15:05:12 · 428 阅读 · 0 评论 -
机器学习技法课程学习笔记14-- Radial Basis Function Network
上节课我们主要介绍了Deep Learning的概念。Deep Learing其实是Neural Networ的延伸,神经元更多,网络结构更加复杂。深度学习网络在训练的过程中最核心的问题就是pre-training和regularization。pre-training中,我们使用denoising autoencoder来对初始化权重进行选择。denoising autoencoder与统计学中转载 2017-10-12 15:06:41 · 3332 阅读 · 0 评论 -
机器学习技法课程学习笔记15 -- Matrix Factorization
上节课我们主要介绍了Radial Basis Function Network。它的原理就是基于距离相似性(distance-based similarities)的线性组合(linear aggregation)。我们使用k-Means clustering算法找出具有代表性的k个中心点,然后再计算与这些中心点的distance similarity,最后应用到RBF Network中去。转载 2017-10-13 14:41:29 · 375 阅读 · 0 评论 -
机器学习技法课程学习笔记16 -- Finale
上节课我们主要介绍了Matrix Factorization。通过电影推荐系统的例子,介绍Matrix Factorization其实是一个提取用户特征,关于电影的线性模型。反过来也可以看出是关于用户的线性模型。然后,我们使用SGD对模型进行最佳化。本节课我们将对机器学习技法课程介绍过的所有内容做个总结,分成三个部分:Feature Exploitation Techniques,Error Op转载 2017-10-13 14:42:38 · 308 阅读 · 0 评论 -
Hessian矩阵在求极小值的应用
最近一段时间算是狠狠地了补了很多数学知识,也发现了数学作为工程中的强大工具能力,无论是在机器学习中推导cost funcktion还是在求解优化问题时,都会用到Hessian矩阵。 我们需要知道一个重要的结论:Hessian矩阵是半正定的,具体的推导不讲,这里主要讲讲怎么理解这个半正定性。 对一元函数f(x)来说,就极值而言,一阶导为0是极值点的必要但不充分条件,一阶导为0且二阶原创 2017-11-05 20:12:28 · 9619 阅读 · 4 评论 -
机器学习技法课程学习笔记6-- Support Vector Regression
上节课我们主要介绍了Kernel Logistic Regression,讨论如何把SVM的技巧应用在soft-binary classification上。方法是使用2-level learning,先利用SVM得到参数b和w,然后再用通用的logistic regression优化算法,通过迭代优化,对参数b和w进行微调,得到最佳解。然后,也介绍了可以通过Representer Theorem转载 2017-10-12 14:59:42 · 2274 阅读 · 0 评论 -
机器学习技法课程学习笔记5-- Kernel Logistic Regression
上节课我们主要介绍了Soft-Margin SVM,即如果允许有分类错误的点存在,那么在原来的Hard-Margin SVM中添加新的惩罚因子C,修正原来的公式,得到新的αn值。最终的到的αn有个上界,上界就是C。Soft-Margin SVM权衡了large-margin和error point之前的关系,目的是在尽可能犯更少错误的前提下,得到最大分类边界。本节课将把Soft-Margin转载 2017-10-12 14:58:37 · 305 阅读 · 0 评论 -
机器学习技法课程学习笔记4 -- Soft-Margin Support Vector Machine
转载自:http://blog.youkuaiyun.com/red_stone1/article/details/74279607上节课我们主要介绍了Kernel SVM。先将特征转换和计算内积这两个步骤合并起来,简化计算、提高计算速度,再用Dual SVM的求解方法来解决。Kernel SVM不仅能解决简单的线性分类问题,也可以求解非常复杂甚至是无限多维的分类问题,关键在于核函数的选择,例如线性核转载 2017-10-12 14:57:10 · 238 阅读 · 0 评论 -
[机器学习实验1]Linear Regression
线性回归分析,最简单的一个预测模型,也属于机器学习中的监督学习的范畴,这里主要对LINEAR REGRESSION I这部分的实验做个记录。 具体的理论要去看Andrew Ng大神的机器学习课程http://cs229.stanford.edu 问题如下: 对提供的数据进行线性回归并分析几个问题。题目链接http://openclassroom.stanford.edu/MainFolde原创 2017-08-28 22:21:40 · 1102 阅读 · 0 评论 -
[机器学习实验2]Multivariate Linear Regression
感觉第二个实验和第一个实验基本是一样的。。不晓得为什么课程对这个问题做了两个实验,可能要加深对线性回归的理解吧,这个实验的回归变量增加了一个,有两个影响因素。题目如下,是预测房价的 因为和上篇实验基本一样,这里就不贴公式了,直接给贴代码function MultivariateLinearRegression()x = load('ex3x.dat');% 住房面积和卧室数目y = l原创 2017-08-29 22:17:37 · 800 阅读 · 1 评论 -
机器学习技法课程学习笔记2 -- Dual Support Vector Machine
Motivation of Dual SVM首先,我们回顾一下,对于非线性SVM,我们通常可以使用非线性变换将变量从x域转换到z域中。然后,在z域中,根据上一节课的内容,使用线性SVM解决问题即可。上一节课我们说过,使用SVM得到large-margin,减少了有效的VC Dimension,限制了模型复杂度;另一方面,使用特征转换,目的是让模型更复杂,减小Ein。所以说,非线性SVM是把转载 2017-09-25 23:34:11 · 269 阅读 · 0 评论 -
机器学习技法课程学习笔记3 -- Kernel Support Vector Machine
上节课我们主要介绍了SVM的对偶形式,即dual SVM。Dual SVM也是一个二次规划问题,可以用QP来进行求解。之所以要推导SVM的对偶形式是因为:首先,它展示了SVM的几何意义;然后,从计算上,求解过程“好像”与所在维度d^无关,规避了d^很大时难以求解的情况。但是,上节课的最后,我们也提到dual SVM的计算过程其实跟d^还是有关系的。那么,能不能完全摆脱对d^的依赖,从而减少SV转载 2017-09-25 23:36:36 · 245 阅读 · 0 评论 -
【举例】Adaboost算法的具体数学公式
1 Adaboost的原理1.1 Adaboost基本介绍 AdaBoost,是英文"Adaptive Boosting"(自适应增强)的缩写,由Yoav Freund和Robert Schapire在1995年提出。Adaboost是一种迭代算法,其核心思想是针对同一个训练集训练不同的分类器(弱分类器),然后把这 Adaboost 些弱分类器集合起来,构成一个更强的最原创 2017-09-26 14:37:08 · 530 阅读 · 0 评论 -
机器学习技法课程学习笔记8 -- Adaptive Boosting
本文可以配套着我的另一篇博文http://blog.youkuaiyun.com/gyh_420/article/details/78095053来更进一步地理解文中 ut是怎么更新的。上节课我们主要开始介绍Aggregation Models,目的是将不同的hypothesis得到的gt集合起来,利用集体智慧得到更好的预测模型G。首先我们介绍了Blending,blending是将已存在的所有gt结转载 2017-09-26 14:38:58 · 278 阅读 · 0 评论 -
SVM和Logistic Regression的使用时的区别
上图来自Andrew Ng的机器学习课程,我做个搬运工: 假设: n = 特征数量,m = 训练样本数量 1)如果n相对于m更大,比如 n = 10,000,m = 1,000,则使用lr 理由: 特征数相对于训练样本数已经够大了,使用线性模型就能取得不错的效果,不需要过于复杂的模型; 2)如果n较小,m比较大,比如n = 10,m = 10,000,则使用SVM(高斯核函数) 理由:原创 2017-09-19 16:44:09 · 1379 阅读 · 0 评论 -
[机器学习实验3]Logistic Regression and Newton Method
第三篇实验记录,logic回归的,一个二分类问题,输入变量的维度比较低(二维),所以可以在图像画出边界线来直观感受的。 题目链接: http://openclassroom.stanford.edu/MainFolder/DocumentPage.php?course=MachineLearning&doc=exercises/ex4/ex4.html 这个是测试的数据集直接的显示,数原创 2017-09-02 20:20:25 · 1171 阅读 · 0 评论 -
[机器学习实验4]正则化(引入惩罚因子)
数据下载链接: http://openclassroom.stanford.edu/MainFolder/courses/MachineLearning/exercises/ex5materials/ex5Data.zip 本次实验的主要目的是了解引入的正则化参数对拟合效果的影响,通过调整该参数来解决过拟合和欠拟合的问题。线性回归中引入正则化参数。 x再线性回归的实践中是一维的,如果是更高维度原创 2017-09-03 13:04:42 · 10280 阅读 · 1 评论 -
[机器学习实验6]线性SVM分类和非线性SVM分类
在开始实验之前我们需要先下载LIBSVM库 http://www.csie.ntu.edu.tw/~cjlin/libsvm/下载后解压后如下图 我们要使用matlab部分,这里说明一下,用最新的版本的LIBSVM出现了问题的话,任何问题(除了找不到编译器)其他的问题,请下一个最新版本的Matlab,比如我用的是Matlab2016b,之前用的Matlab2012,之前有个问题几天都没解决掉原创 2017-09-12 14:57:34 · 5311 阅读 · 2 评论 -
机器学习技法课程学习笔记1 -- Linear Support Vector Machine
转载自http://blog.youkuaiyun.com/red_stone1/article/details/73526457主要是林轩田的课程的里面的PPT和讲的一些东西的整理,感谢这个博主的整理,这里做个备份,免得以后找不到了Large-Margin Separating Hyperplane回顾一下我们之前介绍了linear classification,对于线性可分的情况,我们转载 2017-09-20 18:23:58 · 418 阅读 · 0 评论 -
对于基于概率模型的学习方法中调参的理解
一些总结性的原则来自知乎,我觉得写的还不错,链接:https://www.zhihu.com/question/25097993/answer/127472322。我最后也会附上。最近结束了在TX做游戏AI的实习,对目前的监督学习的方法有了进一步的理解,其实涉及到的调参主要有两个方面吧,一类参数是和数据本身相关的参数,比如数据各类型的比例,提取出来的特征,数据异常值的过滤之类的。另一类就是模型参数...原创 2018-07-14 15:20:24 · 502 阅读 · 0 评论