![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
ML算法总结
kaiyuan_sjtu
这个作者很懒,什么都没留下…
展开
-
机器学习中树模型算法总结之 决策树(上)
写在前面最近在写小论文的时候接触到了XGBoost,才发现这算法真的是神一般的存在,去网上搜了一下居然绝大多数竞赛winner用的也是这个算法(这算不算开挂haha~)。发现这么好用的算法如果只是会用的话真是可惜,所以决定放下手头的论文,先仔细地研究研究。但是在网上看XGBoost资料的时候觉得自己以前看的树模型算法都忘得差不多了,所以就趁着这个机会把机器学习里的树模型算法重新再...原创 2018-04-17 22:44:57 · 5054 阅读 · 0 评论 -
机器学习算法总结之支持向量机(一)
1.回顾感知机模型在感知机原理小结中,我们讲到了感知机的分类原理,感知机的模型就是尝试找到一条直线,能够把二元数据隔离开。放到三维空间或者更高维的空间,感知机的模型就是尝试找到一个超平面,能够把所有的二元类别隔离开。对于这个分离的超平面,我们定义为wTx+b=0,如下图。在超平面wTx+b=0上方的我们定义为y=1,在超平面wTx+b=0下方的我们定义为y=−1。可以看出满足这个条件的超平面并不止...转载 2018-06-03 11:01:55 · 3809 阅读 · 0 评论 -
机器学习算法总结之支持向量机(二)
有时候不能线性可分的原因是线性数据集里面多了少量的异常点,由于这些异常点导致了数据集不能线性可分,本篇就对线性支持向量机如何处理这些异常点的原理方法做一个总结。1.线性分SVM面临的问题有时候本来数据的确是可分的,也就是说可以用 线性分类SVM的学习方法来求解,但是却因为混入了异常点,导致不能线性可分,比如下图,本来数据是可以按下面的实线来做超平面分离的,可以由于一个橙色和一个蓝色的异常点导致我们...转载 2018-06-03 21:39:47 · 896 阅读 · 0 评论 -
机器学习算法总结之支持向量机(三)
在前面两篇我们讲到了线性可分SVM的硬间隔最大化和软间隔最大化的算法,它们对线性可分的数据有很好的处理,但是对完全线性不可分的数据没有办法。本文我们就来探讨SVM如何处理线性不可分的数据,重点讲述核函数在SVM中处理线性不可分数据的作用。1.回顾多项式回归如何将多项式回归转化为线性回归。比如一个只有两个特征的p次方多项式回归的模型:我们令x0=1,x1=x1,x2=x2,x3=x21,x4=x22...转载 2018-06-03 23:01:44 · 1907 阅读 · 0 评论 -
机器学习算法总结之支持向量机(五)
在前四篇里面我们讲到了SVM的线性分类和非线性分类,以及在分类时用到的算法。这些都关注与SVM的分类问题。实际上SVM也可以用于回归模型,本篇就对如何将SVM用于回归模型做一个总结。重点关注SVM分类和SVM回归的相同点与不同点。1. SVM回归模型的损失函数度量回顾下我们前面SVM分类模型中,我们的目标函数是让12||w||22最小,同时让各个训练集中的点尽量远离自己类别一边的的支持向量,即yi...转载 2018-06-04 20:41:07 · 2714 阅读 · 0 评论 -
机器学习算法总结之支持向量机(四)
在SVM的前三篇里,我们优化的目标函数最终都是一个关于α向量的函数。而怎么极小化这个函数,求出对应的α向量,进而求出分离超平面我们没有讲。本篇就对优化这个关于α向量的函数的SMO算法做一个总结。、1. 回顾SVM优化目标函数我们首先回顾下我们的优化目标函数:我们的解要满足的KKT条件的对偶互补条件为:根据这个KKT条件的对偶互补条件,我们有:2.SMO算法的基本思想上面这个优化式子比较复杂,里面有...转载 2018-06-08 09:46:02 · 804 阅读 · 0 评论 -
神经网络中常用激活函数总结
好久没写博客和学习笔记了,感觉最近总是没有学习状态呀,就很烦。虽说确实是有在看一些视频课程但是总是精神有力,每天过得也好快总感觉啥都没学时间就过去了阿西。还是得逼最近写写笔记才能不那么恍惚。前几天开始学习Coursera上吴恩达的深度学习课程,然后顺便做做笔记吧。神经元的结构如下图所示,其中f就是激活函数(activation function),它的输入是x的线性组合,然后对其进行某种固定的...原创 2018-05-30 20:02:25 · 20458 阅读 · 0 评论 -
机器学习资料整理
写在前面想到整理这资料也是由于老师某天发邮件说让我们整理机器学习相关的文献资料这些存档,索性我就自己也全面的再整理一遍啦。方便以后查资料用~机器学习方面的书籍就不再放了,知乎啊CSDN啊上面应该有超级多推荐的,这里我贴一个免费下载电子书的网站:BookSee。上面基本上你所能想到的但是网上暂时无法下载的书籍都可以找到。反正想到什么资源就往上贴,框架可能不是很合理,将就看吧~机...原创 2018-06-08 20:19:36 · 1594 阅读 · 0 评论 -
机器学习&深度学习知识点总结
1.Overfitting是什么?怎么解决?overfitting就是过拟合, 其直观的表现如下图所示,随着训练过程的进行,模型复杂度增加,在training data上的error渐渐减小,但是在验证集上的error却反而渐渐增大——因为训练出来的网络过拟合了训练集, 对训练集外的数据却不work, 这称之为泛化(generalization)性能不好。泛化性能是训练的效果评价中的首要目标...原创 2018-06-09 09:31:01 · 7490 阅读 · 0 评论 -
概率图模型笔记(二) 隐马尔科夫模型(Hidden Markov Model)
写在前面隐马尔科夫模型(Hidden Markov Model,以下简称HMM)是比较经典的机器学习模型了,它在语言识别,自然语言处理,模式识别等领域得到广泛的应用。最近入坑NLP,看到好多算法都涉及到HMM。那么什么样的问题需要HMM模型来解决,一般有以下两个特征:(1)我们的问题是基于序列的,比如时间序列,或者状态序列。(2)我们的问题中有两类数据,一类序列数据是可以观测到的,即观测序列;...原创 2018-07-12 14:23:07 · 2809 阅读 · 0 评论 -
机器学习算法总结之XGBoost(下) 实战与调参
写在前面XGBoost原理已在前一篇有过说明:机器学习算法总结之XGBoost(上)本文思路与之前一篇GBDT调参( 基于scikit-learn的梯度提升树GBDT调参学习)思路相同,先遍历xgboost算法所有参数,明白其意思之后开始实战调参,数据集我还是打算选择Kaggle上的Titanic: Machine Learning from Disaster,保持工作一致性。参考资料...原创 2018-11-01 11:33:02 · 1225 阅读 · 0 评论 -
梯度下降优化算法总结
写在前面梯度下降(Gradient descent)算法可以说是迄今最流行的机器学习领域的优化算法。并且,基本上每一个深度学习库都包括了梯度下降算法的实现,比如Lasagne、cafe、keras等。关于梯度优化的三种分类在机器学习中常用的优化方法这篇博客中已经介绍过,按照每次更新参数使用的数据量可以分为Batch gradient descent、Stochastic gradient de...原创 2019-01-04 11:33:29 · 2030 阅读 · 0 评论 -
概率图模型笔记(三)条件随机场(CRF)基础
写在前面前面写完了HMM,比较重点的就是HMM的三个问题,需要好好消化。这篇博客主要介绍条件随机场,相比于HMM,CRF的应用可能会更广。从刚接触CRF开始也很久了,但是由于书上公式非常晦涩难懂,而且网上也有超级多的开源代码实现,所以对CRF的认识也就停留在非常表层的理解。但是就这样的程度让人觉得非常虚,那就拿起小蓝书跟条件随机场来个了断吧~条件随机场定义首先给出来自小蓝书的CRF定义:...原创 2019-03-30 13:13:38 · 1127 阅读 · 0 评论 -
机器学习中常用的优化方法
写在前面在看斯坦福的次cs231n课程,里面提到一些机器学习的基础知识,比如损失函数,优化算法,正则化形式等等。然后有一些知识也都记不起来了,索性就在博客上再回顾一遍顺便记录下来日后方便查阅。今天就先整理机器学习算法中常用的几种优化损失函数的优化方法,主要有:梯度下降法、牛顿法和拟牛顿法、共轭梯度法、启发式优化方法以及解决约束优化问题的拉格朗日乘数法。1. 梯度下降法(Gr...原创 2018-05-15 13:28:27 · 2813 阅读 · 1 评论 -
机器学习算法总结之聚类:K-means
写在前面在前面学习的ML算法中,基本都是有监督学习类型,即存在样本标签。然而在机器学习的任务中,还存在另外一种训练样本的标签是未知的,即“无监督学习”。此类任务中研究最多、应用最广泛的是“聚类”(clustering),常见的无监督学习任务还有密度估计、异常检测等。本文将首先介绍聚类基本概念,然后具体地介绍几类细分的聚类算法。参考资料:K-Means聚类算法原理1. 聚类简介聚类试图将数据集中的样...原创 2018-05-03 17:25:28 · 15877 阅读 · 0 评论 -
机器学习中树模型算法总结之 决策树(下)
写在前面首先回顾一下上一篇的相关内容,主要是理论的介绍了决策树的模型及几种常见的特征选择准则,具体可参见机器学习中树模型算法总结之 决策树(上)。今天主要接着学习,包括决策树的生成(依赖于第一篇的三种特征选择准则)以及生成之后避免过拟合的剪枝操作。学习笔记相关资料:《统计学习方法》——李航《机器学习》西瓜书——周志华《Machine Learning Tech》课程——台大林轩...原创 2018-04-18 10:47:20 · 1548 阅读 · 0 评论 -
机器学习算法总结之Boosting:AdaBoost
写在前面正所谓“三个臭皮匠,顶个诸葛亮”,在机器学习中也存在这样的哲理。提升方法(Boosting)就是这样的代表:通过将一系列弱学习器综合提升为强学习器的算法。Boosting族算法的工作机制:(1)先从初试训练集训练出一个基学习器;(2)再根据基学习器的表现对训练样本进行调整,使得先前基学习器做错的训练样本在后续训练中受到更多关注;(3)基于调整后的训练样本继续训练下一个基学习器;(4)如...原创 2018-04-18 15:26:10 · 3930 阅读 · 0 评论 -
机器学习算法总结之Boosting:Boosting Tree、GBDT
写在前面上一篇 机器学习算法总结之Boosting family:AdaBoost提到Boost但是没说它的整个框架及分类,在这里记一下。Boosting(提升方法) = 加法模型 + 前向分步算法 + 损失函数 AdaBoost = Boosting + 损失函数是指数函数(基函数任意) Boosting Tree(提升树) = Boosting + 基函数是决策树(损失函数任意...原创 2018-04-18 20:11:49 · 4182 阅读 · 0 评论 -
基于scikit-learn的梯度提升树GBDT调参学习
写在前面昨天学习了GBDT的基本原理及算法,关键是考虑了损失函数为一般函数的时候采用了负梯度下降的策略,并引入了残差拟合来学习叶子结点,最终得到一颗回归树。当然,纸上谈兵是没有用的,最重要的还是要把这个算法实现,形成可应用的套路。接下来就基于最广泛使用的机器学习库scikit-learn里GBDT的类库使用方法进行学习,主要就是参数优化这一方面。参考博客:Python中Gradient Boost...原创 2018-04-20 20:47:05 · 2619 阅读 · 0 评论 -
基于scikit-learn的SVM实战
写在前面支持向量机(Support Vector Machine)是一种二类分类模型。他的基本模型是定义在特征空间上的间隔最大的线性分类器,此外如果使用了核技巧之后还可以称为非线性分类器。最近时间比较紧张,就先不整理SVM相关的理论知识点,等以后有时间了再整理(也可以当做复习)。今天这篇主要是以SVM算法的实战(scikit-learn)为主,同时也会提炼几点SVM算法重点知识。参考:sc...原创 2018-04-24 15:08:02 · 2521 阅读 · 0 评论 -
机器学习算法总结之XGBoost(上)理论基础
写在前面wow将近看了一个礼拜终于走到XGBoost这一步。还是跟前几个算法一样,首先从基本原理开始到最后的算法实战。首先附上学习资料:陈天奇论文XGBoost: A Scalable Tree Boosting System陈天奇Boosted Trees SlidesXGBoost 与 Boosted Tree不错的博客不错的博客-2Scalable and...原创 2018-04-20 12:57:05 · 4324 阅读 · 0 评论 -
机器学习算法总结之Bagging与随机森林
写在前面集成学习(ensemble learning)是现在非常热门的机器学习方法,在各种大赛中都可以看到它的身影。它本身不是一个单独的机器学习算法,而是通过构建并结合多个机器学习器来完成学习任务,所以常常比单一学习器具有更为显著的泛化性能。根据个体学习器的生成方式,目前的集成学习主要可以分为两类:①个体学习器之间存在强依赖关系、必须串行生成的序列化方法,代表是Boosting;②个体学习器之...原创 2018-04-24 22:41:19 · 3228 阅读 · 0 评论 -
基于scikit-learn的随机森林调参实战
写在前面在之前一篇机器学习算法总结之Bagging与随机森林中对随机森林的原理进行了介绍。还是老套路,学习完理论知识需要实践来加深印象。在scikit-learn中,RF的分类类是RandomForestClassifier,回归类是RandomForestRegressor。当然RF的变种Extra Trees也有, 分类类ExtraTreesClassifier,回归类ExtraTrees...原创 2018-05-03 10:46:12 · 2542 阅读 · 1 评论 -
机器学习算法:scikit-learn 线性回归算法总结
写在前面从一开始的课题需要重新整理XGBoost,到现在整理机器学习算法的知识将近一个礼拜了,希望自己能一直坚持下去~线性回归在机器学习算法中算是一个比较简单基础的算法。线性回归的目的是要得到输出向量Y和输入特征X之间的线性关系,求出线性回归系数θ,也就是 Y=Xθ。其中Y的维度为mx1,X的维度为mxn,而θ的维度为nx1。m代表样本个数,n代表样本特征的维度。为了得到线性回归系数θ,我们需要定...原创 2018-04-25 12:02:13 · 2302 阅读 · 0 评论 -
机器学习算法总结之K近邻(KNN)
写在前面K近邻(K-nearest neighbor,k-nn)是一种常用的机器学习监督学习方法,可用于分类和回归问题。其工作机制为:给定测试样本,基于某种距离度量找出训练集中与其最靠近的K个训练样本,然后基于这K个邻居来预测给定样本。对于分类任务,可使用“投票法”;对于回归任务,可使用“平均法”,即取这K个邻居的平均值最为预测结果,进一步地,还可以对K个邻居距离的远近进行加权处理后预测结果。...原创 2018-04-21 13:04:25 · 2981 阅读 · 0 评论 -
机器学习算法总结之朴素贝叶斯法
写在前面贝叶斯分类是一类分类算法的总称,这类算法均以贝叶斯定理为基础,故统称为贝叶斯分类。而朴素朴素贝叶斯分类是贝叶斯分类中最简单,也是常见的一种分类方法。它是基于贝叶斯定理和特征条件独立假设分类方法。对于给定训练集,首先基于特征条件独立性的假设,学习输入/输出联合概率(计算出先验概率和条件概率,然后求出联合概率)。然后基于此模型,给定输入x,利用贝叶斯概率定理求出最大的后验概率作为输出y。朴...原创 2018-04-21 16:37:12 · 3628 阅读 · 1 评论 -
基于scikit-learn的朴素贝叶斯实战
写在前面学完了朴素贝叶斯的基本原理(机器学习算法总结之朴素贝叶斯法),现在利用sklearn平台的朴素贝叶斯类库来实战一下,加深印象。1.sklearn中朴素贝叶斯(NB)简介相比于前面的决策树以及集成算法,NB所需要调节的参数还是比较少的。在scikit-learn中,一共有3个朴素贝叶斯的分类算法类。分别是GaussianNB,MultinomialNB和BernoulliNB。其中Gauss...转载 2018-04-21 18:12:35 · 1589 阅读 · 2 评论 -
深度学习中的Normalization总结
写在前面在查batch normalization和layer normalization的区别的时候看到的文章,总结得非常好。怕以后找不到忘记看,先在这里存档一下。深度学习中的Normalization模型...原创 2019-04-11 20:12:50 · 541 阅读 · 0 评论