
机器学习算法总结
文章平均质量分 75
Doooer
这个作者很懒,什么都没留下…
展开
-
为什么分类问题使用交叉熵损失函数?
待整理…[1] http://www.cnblogs.com/aijianiula/p/9460842.html[2] https://blog.youkuaiyun.com/yangyang688/article/details/82667273原创 2019-04-17 16:34:20 · 4049 阅读 · 0 评论 -
决策树(三)
决策树算法总结:优点决策树简单直观不需要归一化,不需要处理缺失值既可以处理离散特征,也可以处理连续特征不易受到异常值的影响缺点非常容易过拟合因样本的扰动,导致树结构剧烈改变寻找最优决策树是个NP难的问题,一般通过启发式方法...原创 2018-12-21 19:48:34 · 302 阅读 · 3 评论 -
决策树(二)
在决策树(一)中,我们介绍了三种不同的特征选择方式。ID3使用的是信息增益准则,C4.5使用的是信息增益率准则,CART在分类时使用的是基尼指数。ID3算法的不足没有考虑连续特征信息增益偏好取值数目较多的特征没有考虑缺失值没有考虑过拟合的问题C4.5对ID3中的四个问题进行了改进连续特征离散化:使用二分法对连续特征进行处理属性a在样本集D中有n个不同的值,将其从小到大排列...原创 2018-12-21 19:20:46 · 306 阅读 · 0 评论 -
PCA(Principal Component Analysis)
主成分分析是一种广泛使用的对数据进行降维的方法。在PCA 中,数据由原来的坐标系转换到了新的坐标系,新的坐标系的选择是由数据本身决定的。我们选择方差比较大的新坐标轴,从而对数据进行了降维。[讲述PCA比较好的文章链接](http://blog.codinglabs.org/articles/pca-tutorial.html)我们需要找到合适的基,也就是合适的新的坐标轴;然后将数据投影到该基上,原创 2018-12-10 21:03:23 · 341 阅读 · 0 评论 -
线性判别分析(LDA)
LDA是一种监督学习,通常作为数据预处理阶段的降维技术。监督降维方法!!!LDA降维的步骤:计算每个类别样本的均值向量,所有样本的均值向量通过均值向量,计算类间散度矩阵SBS_BSB和类内散度矩阵SWS_WSW对SW−1SBW=λWS_W^{-1}S_BW=\lambda WSW−1SBW=λW进行特征值求解,选择前K个特征向量组成WWW,其中K最大为N-1(N是类别数)新的子...原创 2018-12-10 18:28:23 · 676 阅读 · 0 评论 -
生成学习算法
生成学习算法:对p(x,y)p(x,y)p(x,y)进行建模,具体是p(y)p(y)p(y)和p(x∣y)p(x|y)p(x∣y)预测的时候,利用贝叶斯公式:高斯判别分析特点: input features x是连续的使用多变量高斯分布对p(x∣y)p(x|y)p(x∣y)进行建模具体来说:可以看到,两个多变量高斯分布的均值向量不同,但是协方差矩阵是一样的。然后对数据进行对数...原创 2018-12-10 10:09:33 · 222 阅读 · 0 评论 -
LR模型(logistic regression)
分类模型本质上是线性回归模型优化目标J(θ)=∑−yilog(h(θTxi))−(1−yi)log(1−h(θTxi))J(\theta) = \sum -y_ilog(h(\theta^Tx_i))-(1-y_i)log(1-h(\theta^Tx_i))J(θ)=∑−yilog(h(θTxi))−(1−yi)log(1−h(θTxi)),最小化其中h(θTx)=11+e−θ...原创 2018-12-07 11:28:05 · 2607 阅读 · 0 评论 -
一系列梯度下降算法
梯度下降算法是优化神经网络最常见的方式,这里我们会接触梯度下降法的不同变种。原创 2018-12-06 17:42:33 · 447 阅读 · 0 评论 -
决策树(一)
参考:《机器学习》周志华想对决策树做一个简单的回顾和总结,因为发现在Random Forest, GBDT和XGBoost中的基分类器中起到重要的作用。定义 一般的,一颗决策树包含一个根节点,若干个内部节点和若干个叶子节点;叶节点对应于决策结果,根节点和内部节点对应一个属性。 划分选择 决策树中关键的一步是:如何选择划分属性,即内部节点。我们希望落入叶子节点的样本尽可能地属...原创 2018-12-19 15:20:34 · 781 阅读 · 0 评论 -
熵、联合熵、条件熵、相对熵、交叉熵、互信息
[1] https://www.cnblogs.com/kyrieng/p/8694705.html熵H(X)=−∑xp(x)logp(x)H(X) = -\sum_xp(x)logp(x)H(X)=−∑xp(x)logp(x), 它表示的是随机变量XXX的不确定性,不确定性越大,熵越大。没有条件约束的时候,X是均匀分布,对应的熵最大。给定均值和方差的前提下,正态分布对应的熵最大。联合...原创 2018-12-28 10:57:53 · 960 阅读 · 0 评论 -
随机森林用于特征选择
随机森林可以计算单个特征变量的重要性。计算特征X的重要性的方法:对RF中的每一棵决策树,计算出OOB数据的误差,记作errOOB1errOOB1errOOB1对所有OOB数据里的特征X加入噪声,然后计算OOB数据的误差,记作errOOB2errOOB2errOOB2RF有N棵树,则特征X的重要性为∑i(errOOB2i−errOOB1i)/N\sum_i (errOOB2_i-errOO...原创 2018-12-22 21:00:15 · 5577 阅读 · 0 评论 -
特征选择
特征选择和降维,它们是处理高维数据的两大主流技术。维数灾难问题大为减轻往往会降低学习任务的难度在特征选择中,涉及两个关键环节:1)如何获取特征子集 2)如何评价特征子集的好坏我们不可能遍历所有的特征子集,因此使用的是基于贪心的策略。搜索子集有三种方法:前向搜索,后向搜索,双向搜索。在子集评价问题中,可以使用信息增益作为评价准则。将特征子集搜索机制与子集评价机制相结合,即可得...原创 2019-02-24 22:05:18 · 1118 阅读 · 0 评论 -
机器学习中防止过拟合的方法
过拟合主要由两个原因造成:数据太少、模型太复杂获取更多的数据(1) 从数据源头获取更多的数据(2) 数据增强(3) 根据当前数据集估计数据分布参数,使用该分布产生更多数据:一般不采用此方法,因为估计分布参数的过程会引入误差对于神经网络而言,可以减少网络的层数、神经元的个数Early StoppingL1或L2正则化项Dropout...原创 2019-02-23 10:55:07 · 407 阅读 · 0 评论 -
朴素贝叶斯法
朴素贝叶斯法是生成模型。“朴素”是指什么?特征条件独立假设:用于分类的特征在类确定的条件下是独立的。原创 2019-02-14 17:34:10 · 268 阅读 · 0 评论 -
LightGBM
和XBGoost一样使用了二阶导数,LightGBM速度快,内存小,精度和XGBoost相当。使用直方图简化计算使用leaf-wise代替level-wise原创 2018-12-26 11:56:38 · 445 阅读 · 0 评论 -
Regularization
概述L1和L2正则项本质上是对参数进行先验分布假设,具体来说L1对应拉普拉斯先验,L2对应高斯先验。ML与MAP的不同maximum likelihood (ML) 极大似然估计:MAP (maximum a posterior) 最大后验概率估计:即p(θ)p(\theta)p(θ)进行了先验假设。拉普拉斯分布L1正则化对应假设每个参数服从均值为0的拉普拉斯分布。b越小,越...原创 2019-02-25 22:23:37 · 721 阅读 · 0 评论 -
AdaBoost与GBDT进行比较
AdaBoost: 加法模型,指数损失函数,使用前向分步算法求解模型参数。目标是使前向分步算法得到的αm\alpha_mαm和Gm(x)G_m(x)Gm(x)使fm(x)f_m(x)fm(x)在训练集上的指数损失最小。其中fm(x)=fm−1(x)+αmGm(x)f_m(x)=f_{m-1}(x)+\alpha_mG_m(x)fm(x)=fm−1(x)+αmGm(x)。证明过程...原创 2018-12-24 08:50:39 · 1280 阅读 · 0 评论 -
K-Means
K-Means是无监督的聚类算法。传统K-Means算法的两个大的缺点:1) 必须事先给定K值,这个K值的选定是非常难以估计的2) 确定好K值后,需要随机初始化K个不同的中心,因此不同的初始化会得到完全不同的结果初始化优化K-Means++上面我们提到,K个初始化质心的位置选择对最后的聚类结果和运行时间都有很大的影响。K-Means++算法就是对传统K-Means随机初始化质心的方法...原创 2018-12-28 23:14:38 · 319 阅读 · 0 评论 -
提升树
定义:提升树是以分类树或回归树为基分类器的boosting方法。回归问题的提升树采用平方误差损失函数,是用当前模型去拟合数据的残差分类问题的提升树指数损失函数对于二分类问题,提升树只需将Adaboost里的基分类器限制为二类分类树即可。总结:提升树利用加法模型和前向分步算法实现学习的优化过程。当损失函数是指数损失函数(用于分类)和平方损失函数(用于回归)时,每一步的优化都是很简单...原创 2018-12-22 22:30:37 · 267 阅读 · 0 评论 -
最大熵模型
logistic regression和最大熵模型都是对数线性模型,而对数线性模型属于广义线性模型。最大熵模型属于运用最大熵原理的多分类模型。我们要清楚两件事:什么是最大熵原理最大熵模型如何运用最大熵原理最大熵原理:在满足约束条件的模型集合中选择熵最大的模型。最大熵模型:给定训练集(x1,y1),(x2,y2),...,(xn,yn){(x_1,y_1),(x_2,y_2),.....原创 2018-12-09 00:00:14 · 345 阅读 · 0 评论 -
优化方法
梯度下降不一定能够找到全局最优解,有可能是一个局部最优解。如果损失函数是凸函数,梯度下降法得到的解一定是全局最优解。梯度下降法分为三类:batch gradient descent每次更新参数使用全部的样本,当样本数目很多的时候,训练过程很慢stochastic gradient descent每次更新参数使用一个样本,当样本数目很多的时候,训练速度快mini-batch gradi...原创 2018-12-04 20:56:29 · 815 阅读 · 0 评论 -
归一化与标准化
对数据进行特征归一化有两点原因:对于使用梯度下降法求最优解的机器学习模型,归一化往往非常有必要,否则很难收敛甚至不能收敛对特征范围敏感的模型,需要进行归一化,以免范围大的特征主导输出结果常用的归一化方法:min-max归一化z-score标准化SVM,KNN,线性回归等对特征尺度敏感,需要归一化决策树不需要归一化使用梯度下降求解的算法需要归一化[1] http://www...原创 2018-12-04 15:43:29 · 2533 阅读 · 1 评论 -
支持向量机(SVM)第二章----核函数
参考周老师的《机器学习》在SVM第一章中,我们假设训练样本是线性可分的。当训练样本不能线性可分时,又该怎么办呢?别怕,核函数来啦。 下面这张图片左边是原始训练样本空间,通过将样本映射到一个三维空间后,我们发现可以找到一个超平面将他们正确分开,也就是说线性可分。因此,找到这样的一个高维映射成为关键的一环。 周老师的书里提到:如果原始空间是有限维,即属性数有限,那么一定存在一个高维特征...原创 2018-05-19 23:25:06 · 810 阅读 · 0 评论 -
EM算法及其推导
参考:李航《统计学习方法》在初识EM算法里,我们对什么是EM算法有了一个大体的认识,这一章,我们需要对EM算法进一步的学习,涉及一些数学公式,不要害怕,没有那么恐怖~ 本章,我们用YY表示观测数据,ZZ表示隐数据,(Y,Z)(Y , Z)一起称为完全数据,YY则称为不完全数据。 EM算法的目标是: θ^=argmaxθlogP(Y|θ)\hat{\theta} =\mathop{\arg\ma原创 2017-12-18 20:39:54 · 722 阅读 · 0 评论 -
隐马尔科夫模型(HMM)
HMM是生成模型,根据HMM,可以计算P(O,I)P(O,I)的联合概率,其中OO是观测序列,II是隐藏序列。HMM中三个典型问题:1.概率计算问题 2.模型参数估计问题 3.预测问题首先,隐马尔科夫模型里有两条假设:假设一: 隐藏的马尔科夫链在任意时刻tt的状态只依赖前一时刻的状态假设二: 任意时刻的观测只依赖于该时刻的隐状态由此,引出隐马尔科夫模型的三个重要参数:π,A,B\pi ,原创 2017-12-26 13:53:03 · 776 阅读 · 0 评论 -
AdaBoost
李航《统计学习方法》 https://www.cnblogs.com/pinard/p/6133937.html 周志华《机器学习》集成学习可以分为两大类:Bagging(Bootstrap aggregation) 和 Boosting。前者是并行的,后者是串行的。在PAC学习的框架下,一个概念是强可学习的充分必要条件是这个概念是弱可学习的,也就意味着,我们可以将弱学习算法提升为强学习算...原创 2017-12-21 22:10:45 · 461 阅读 · 0 评论 -
Bagging与随机森林
https://www.cnblogs.com/LeftNotEasy/archive/2011/03/07/random-forest-and-gbdt.html 周志华《机器学习》决策树实际上是将空间用超平面进行划分的一种方法,使得每一个叶子节点都是在空间中的一个不相交的区域。在进行决策的时候,根据输入样本的特征值,一步一步往下,最终使得样本落入其中一个叶子节点。在集成学习中,期望个体学习器应原创 2017-12-21 14:38:47 · 1004 阅读 · 0 评论 -
高斯混合模型(GMM--Gaussian mixture model)
参考:李航《统计学习方法》 http://blog.youkuaiyun.com/xmu_jupiter/article/details/50889023 https://www.cnblogs.com/mindpuzzle/archive/2013/04/24/3036447.html **GMM是用来做非监督学习的聚类的。下图可以直观知道什么是聚类: 一、GMM模型定义** GMM应用广泛,在许多原创 2017-12-21 12:47:52 · 3860 阅读 · 0 评论 -
支持向量机(SVM)第一章----线性可分
以下参考周老师《机器学习》。SVM会涉及到硬间隔、软间隔、核函数等概念,别怕,我们一步一步推进,保证可以有一个清晰的认识。Step 1: 我们从简单的情况入手—>线性可分,即在训练集上一定可以找到一个划分超平面,将两种类别的样本分开。 (1) 问题描述: 将两种类别的样本完全分开的超平面有很多,那么哪一个超平面是最好的? 从上图可以看出,中间加粗的超平面更好,因为它不仅...原创 2018-05-16 16:47:28 · 701 阅读 · 0 评论 -
奇异值分解(SVD)
推荐: https://blog.youkuaiyun.com/abcjennifer/article/details/8131087LSI(或者LSA,潜在语义分析),简单来说: 给定矩阵A, shape = (m,n),其中m是文档数,n是单词数,aijaija_{ij}表示第i篇文档中第j个单词的特征,比如:词频、TF-IDF。 通过SVD,将A分解成三个矩阵。 A = XBY X: sha...原创 2018-06-30 20:00:13 · 650 阅读 · 0 评论 -
线性回归linear regression
损失函数:最小二乘法使用梯度下降法求解θ\thetaθ正规方程法θ=(XTX)−1XTY\theta = (X^TX)^{-1}X^TYθ=(XTX)−1XTY,没有正则化项如何解决非线性的问题方法1:推广到多项式回归方法2:核函数,前提是ridge回归,即加了L2L_2L2正则化表示定理:凡是进行L2L_2L2正则化的线性问题都可以使用核函数的技巧方法3:局部加...原创 2018-12-04 10:12:24 · 214 阅读 · 0 评论 -
支持向量机(SVM)回顾与扩展
any L2-regularized linear model can be kernelized!!!原创 2018-11-17 16:44:19 · 384 阅读 · 0 评论 -
CRF以及BiLSTM+CRF
tensorflow-- bilstm+crf代码简析https://blog.youkuaiyun.com/guolindonggld/article/details/79044574对crf原理的细致解析https://createmomo.github.io/2017/11/11/CRF-Layer-on-the-Top-of-BiLSTM-5/http://www.cnblogs.com/ba...原创 2018-11-21 14:38:56 · 2149 阅读 · 0 评论 -
支持向量机(SVM)第三章---软间隔
参考周老师《机器学习》在前面两章里,我们都是假设样本在原始空间或者高维空间里线性可分,并且我们提到核函数的选择成为SVM的关键。即使我们找到了合适的核函数,也难断定是否是因过拟合造成的。引入软间隔,允许一些样本不满足约束条件。在前面两章所介绍的都是硬间隔,即所有样本都必须满足约束条件。 ...原创 2018-08-02 21:25:27 · 1453 阅读 · 0 评论 -
XGBoost
http://www.360doc.com/content/18/0101/17/40769523_718161675.shtml首先介绍一下牛顿法: 将L(θt)L(θt)L(\theta ^t)在θt−1θt−1\theta ^{t-1}处进行二阶泰勒展开: L(θt)≈L(θt−1)+L′(θt−1)Δθ+L′′(θt−1)Δθ22L(θt)≈L(θt−1)+L′(θt−1)Δθ+L...原创 2018-08-02 15:57:58 · 302 阅读 · 0 评论 -
Gradient Boosting Decision Tree (GBDT)
GBDT也是集成学习Boosting家族的成员,Boosting是各个基学习器之间有很强的依赖关系,即串行。GBDT限定了基学习器只能使用CART回归树。GBDT是一个加法模型,采用前向分步算法进行求解GBDT在函数空间利用梯度下降法进行优化,算法原理如下: LLL是损失函数,TTT是想迭代的次数 ...原创 2018-08-02 13:34:48 · 690 阅读 · 0 评论 -
支持向量机(SVM)第四章---支持向量回归
简单总结一下自己对SVM的认识:有一条带区域,固定差距为1,希望最大化间隔1||w||1||w||\frac{1}{||w||}。SVM的特点就是这条带的引入。SVR同样有这样的一条带,回归的时候,落入带内的点,损失为0,只记录落入带外的点的损失值。SVR形式化表示: min1/2||w||2+C∑l(f(xi)−yi)min1/2||w||2+C∑l(f(xi)−yi)\min 1/2...原创 2018-08-06 21:50:04 · 896 阅读 · 0 评论 -
stacking和blending
https://blog.youkuaiyun.com/data_scientist/article/details/78900265stacking: 使用cross-validation, 将训练数据划分为k份,用k-1份数据来训练,然后预测剩下的1份数据;进行k次;最终是把所有的训练数据都预测了。作为训练数据的一列特征。 再用另一个模型进行上述过程,得到训练数据的第二列特征。。。使用了N个模型,...原创 2018-07-26 15:17:41 · 322 阅读 · 0 评论 -
K-means聚类算法背后的EM思想
K-means背后的EM思想翻译 2017-12-03 22:15:32 · 454 阅读 · 0 评论