机器学习
code__online
这个作者很懒,什么都没留下…
展开
-
集成学习之XGBoost原理
背景XGBoost 的全称是eXtreme Gradient Boosting,它是Gradient Boosting Machine的一个c++实现,在计算速度和准确率上相比较于GBDT有较大的提升。作者为正在华盛顿大学研究机器学习的大牛陈天奇 。xgboost最大的特点在于,它能够自动利用CPU的多线程进行并行,同时在算法上加以改进提高了精度。它的处女秀是Kaggle的 希格斯子信号识别竞赛...原创 2019-05-04 15:58:56 · 821 阅读 · 0 评论 -
随机森林和GBDT的区别
一、随机森林随机森林是一个用随机方式建立的,包含多个决策树的集成分类器。其输出的类别由各个树投票而定(如果是回归树则取平均)。假设样本总数为n,每个样本的特征数为a,则随机森林的生成过程如下:从原始样本中采用有放回抽样的方法选取n个样本; 对n个样本选取a个特征中的随机k个,用建立决策树的方法获得最佳分割点;重复m次,获得m个决策树; 对输入样例进行预测时,每个子树都产生一个结果,采用...转载 2019-05-18 21:35:08 · 191 阅读 · 0 评论 -
矩阵分解SVD原理
常用的经典矩阵分解算法:经典算法PCA、SVD主题模型算法LDA概率矩阵分解PMF,由深度学习大牛Ruslan Salakhutdinov所写,主要应用于推荐系统中,在大规模的稀疏不平衡性Netflix数据集上取得较好的效果;非负矩阵分解(No你negative MatrixFactor)NMF,由Lee和 Seung 在《Nature》上提出,应用于文本聚类;1. 特征值、特征向...原创 2019-05-30 20:28:06 · 15823 阅读 · 6 评论 -
特征工程
特征工程特征预处理特征选择特征工程对于一个机器学习问题,数据和特征决定了结果的上限,而模型、算法的选择及优化是在逐步逼近这个上限。特征工程,顾名思义,是对原始特征进行一系列的工程处理,生成有价值的新特征,并将这些特征作为输入以供算法和模型使用。基本的操作为衍生(升维)、筛选(降维)等。通过归纳和总结,将特征工程分为以下方面:特征预处理...原创 2019-06-06 22:30:24 · 1021 阅读 · 0 评论 -
PCA主成分分析
1. 背景在研究多变量的数据时,变量太多不仅导致数据的复杂性,而且不同的变量之间可能存在一定的相关关系,即两个变量之间的信息有一定的重叠,这无疑为分析问题增加了难度。为了提取数据中的主要信息成分,提出了一个新的降维方法PCA。主成分分析(Principal Component Analysis,简称PCA)是最常用的一种降维方法。它是将原先提出的所有变量中关系紧密的变量删除,建立尽可能少的新变量...原创 2019-06-01 21:47:22 · 557 阅读 · 0 评论 -
因子分解机FM算法原理
对于分解机(Factorization Machines,FM)推荐算法原理,本来想自己单独写一篇的。但是看到peghoty写的FM不光简单易懂,而且排版也非常好,因此转载过来,自己就不再单独写FM了。Pinard注:上面最后一句话应该是"而gθ(x)gθ(x)来计算"...转载 2019-06-02 14:40:37 · 561 阅读 · 0 评论 -
模型评估
在机器学习领域中,为了检验训练好的模型性能,需要对模型进行评估。而且不同类型的模型所使用的评估方法也会有所差异。只有选择与问题相匹配的评估方法,才能快速地发现模型选择或训练过程中出现的问题,迭代地对模型进行优化。模型评估主要分为离线评估和在线评估两个阶段。针对分类、排序、回归、序列预测等不同类型的机器学习问题,评估指标的选择有所不同。分类问题分类模型的常用评估指标有准确率、精确率、回召率、F1...原创 2019-06-09 20:20:32 · 4519 阅读 · 0 评论 -
模型评估的方法
模型评估过程中,有哪些主要的验证方法,它们的优缺点是什么?Holdout检验Holdout检验是最简单也是最直接的验证方法,它将原始的样本集合随机划分成训练街和验证集。比方说,对于一个点击率预测模型,把样本按照7:3的比例分成两部分,70%的样本用于模型训练;30%的样本用于模型验证,包括绘制ROC曲线、计算精确率和召回率等指标来评估模型性能。Holdout检验的缺点很明显,即在验证集上计算...原创 2019-06-09 20:42:24 · 423 阅读 · 0 评论 -
模型的超参数调优
超参数是一个参数,是一个未知变量,但是它不同于在训练过程中的参数,它是可以对训练得到的参数有影响的参数,需要训练者人工输入,并作出调整,以便优化训练模型的效果。为了进行超参数调优,我们一般会采用网格搜索、随机搜索、贝叶斯优化等算法。在具体介绍算法之前,需要明确超参数搜索算法一般包括哪几个要素。一是目标函数,即算法最大化/最小化的目标;二是搜索范围,一般通过上限和下限来确定;三是算法的其他参数,如...原创 2019-06-09 21:00:52 · 2076 阅读 · 0 评论 -
过拟合和欠拟合
在模型评估与调整的过程中,往往会遇到“过拟合”或“欠拟合”的情况。如何有效地识别“过拟合”和“欠拟合”现象,并有针对性地进行模型调整,是不断改进机器学习模型的关键。过拟合是指模型对于训练数据出现过度拟合的情况,反映到评估指标上,就是模型在训练集上的表现很好,但在测试集和新数据上的表现很差。欠拟合是指模型在训练和预测时表现都不好的情况。下图描述了过拟合和欠拟合的区别:可以看出,图a是欠拟合...原创 2019-06-09 21:23:10 · 463 阅读 · 0 评论 -
bagging和boosting的区别
Bagging和Boosting都是将已有的分类或回归算法通过一定方式组合起来,形成一个性能更加强大的分类器,更准确的说这是一种分类算法的组装方法。即将弱分类器组装成强分类器的方法。首先介绍Bootstraping,即自助法:它是一种有放回的抽样方法(可能抽到重复的样本)。1. Bagging (bootstrap aggregating)Bagging即套袋法,其算法过程如下:从原始...原创 2019-05-18 21:31:17 · 346 阅读 · 0 评论 -
机器学习之决策树算法
1. 决策树模型决策树模型是一种树形结构,其依据一系列的if-then规则将数据集分散到各个叶子上。决策树分为两种:分类决策树和回归决策树。通常依据输出值y来判定决策树的种类,如果输出值是离散值,那么为分类决策树;如果输出值为连续值,则为回归决策树。决策树的主要优点是模型具有可读性、分类速度快。学习决策树时,利用训练数据,根据损失函数最小化的原则建立决策树模型。决策树的思想主要来源于由Quinl...原创 2019-05-18 18:19:34 · 421 阅读 · 0 评论 -
LightGBM原理详解
GBDT (Gradient Boosting Decision Tree)是机器学习中一个长盛不衰的模型,其主要思想是利用弱分类器(决策树)迭代训练以得到最优模型,该模型具有训练效果好、不易过拟合等优点。GBDT在工业界应用广泛,通常被用于点击率预测,搜索排序等任务。GBDT也是各种数据挖掘竞赛的致命武器,据统计Kaggle上的比赛有一半以上的冠军方案都是基于GBDT。LightGBM (Li...原创 2019-05-09 22:26:40 · 11096 阅读 · 0 评论 -
CTR预估中GBDT与LR融合方案
1、 背景 CTR预估(Click-Through Rate Prediction)是互联网计算广告中的关键环节,预估准确性直接影响公司广告收入。CTR预估中用的最多的模型是LR(Logistic Regression)[1],LR是广义线性模型,与传统线性模型相...转载 2019-05-14 20:55:40 · 150 阅读 · 0 评论 -
集成学习的常见问题
1. 随机森林(random forest)和 GBDT 都是属于集成学习(ensemble learning)的范畴,有什么不同?集成学习下有两个重要的策略 Bagging 和 Boosting,Bagging算法是这样,每个分类器都随机从原样本中做有放回的采样,然后分别在这些采样后的样本上训练分类器,然后再把这些分类器组合起来,简单的多数投票一般就可以,其代表算法是随机森林。Boosting...原创 2019-05-15 16:38:23 · 957 阅读 · 0 评论 -
机器学习之-支持向量机SVM原理
支持向量机支持向量机(support vector machine,简称SVM)是一种二分类模型,它的基本模型是在特征空间上的间隔最大化的线性分类器,其学习模型的策略是间隔最大化,可转化为一个求解凸二次规划的最优化问题。训练后的线性分类器模型不仅保证了每个实例的预测类别准确性,而且还提高了每个实例的预测类别的置信度,从而增强了分类器模型的泛化能力。支持向量机支持的由简至繁的模型:线性可分支...原创 2019-05-24 16:26:55 · 869 阅读 · 0 评论 -
支持向量机SVM之-SMO算法
序列原创 2019-05-25 14:48:37 · 3483 阅读 · 0 评论 -
集成学习之AdaBoost算法
集成学习依据个体学习器之间是否存在依赖关系分为两类:一类是个体学习器之间存在强依赖关系,其代表算法是boosting算法;另一类是个体学习器之间不存在强依赖关系,代表算法是bagging算法。AdaBoost是最著名的算法之一,既可以做分类问题,也可以解决回归问题。AdaBoost算法假设给定一个二类分类的训练集T={(x1,y1),(x2,y2),...,(xN,yN)}T=\left\{(...原创 2019-05-16 17:34:06 · 523 阅读 · 0 评论 -
中文分词和HMM模型
中文分词1. 切分方案的标识0有1/意2见3/分4歧5两种标识方案一个词的开始位置标识为1,其余位置标识为0,比如:[11010]切词的索引位置,则“0有1意2见3分4歧5”的分词结点序列{0,1,3,5}最常见的分词方法是基于词典匹配,规则是按照最大长度查找,由方向的不同可分为两类:前向查找和后向查找(后向查找准确度相对较高)数据结构为了提高查找效率,不要逐个匹配词典中的词...原创 2019-05-25 21:44:28 · 2393 阅读 · 0 评论 -
集成学习之GBDT算法
Boosting树算法Boosting树算法采用的是前向分步算法,假设前m-1轮迭代得到的强学习器是fm−1(x)f_{m-1}(x)fm−1(x),第m轮的迭代目标是训练一个CART回归树模型的弱学习器T(x;Θm)T(x;\Theta_m)T(x;Θm),使得本轮的损失函数L(y,fm(x))=L(y,fm−1+T(x;Θm))L(y,f_m(x))=L(y,f_{m-1}+T(x;\T...原创 2019-05-17 15:19:48 · 611 阅读 · 0 评论 -
处理不平衡样本集的采样方法
在训练二分类模型时,例如医疗诊断、网络入侵检测、信用卡反诈骗等,经常会遇到正负样本不均衡的问题。对于分类算法,如果直接采用不平衡的样本集进行训练学习,会存在一些问题。例如,如果正负样本比例达到1:99,则分类器简单地将所有样本都判定为负样本能达到99%的正确率,显然这并不是我们想要的,我们想让分类器在正样本和负样本上都有足够的准确率和召回率。为什么很多分类模型在训练数据不均衡时会出现问题?本质...原创 2019-06-09 22:12:11 · 3581 阅读 · 0 评论