机器学习
文章平均质量分 71
Michael_Shentu
感兴趣方向:分布式计算与存储,广告计算学,分布式数据挖掘与机器学习,Hadoop,Spark,HBase
展开
-
异常数据处理——箱型图分析原理
箱型图分析原理及Python例程一、箱型图分析原理箱型图可以通过程序设置一个识别异常值的标准,即大于或小于箱型图设定的上下界的数值则识别为异常值,箱型图如下图所示:首先我们定义下上四分位和下四分位:上四分位我们设为U,表示的是所有样本中只有1/4的数值大于U ,即从大到小排序时U处于25%处;同理,下四分位我们设为L,表示的是所有样本中只有1/4的数值小于L,即从大到小...原创 2018-09-13 12:41:59 · 8587 阅读 · 0 评论 -
连续特征的离散化的意义
连续特征的离散化:在什么情况下将连续的特征离散化之后可以获得更好的效果?Q:CTR预估,发现CTR预估一般都是用LR,而且特征都是离散的。为什么一定要用离散特征呢?这样做的好处在哪里?A:在工业界,很少直接将连续值作为逻辑回归模型的特征输入,而是将连续特征离散化为一系列0、1特征交给逻辑回归模型,这样做的优势有以下几点:0、 离散特征的增加和减少都很容易,易于模型的原创 2017-05-21 18:09:33 · 5589 阅读 · 0 评论 -
GBDT与梯度的理解
GBDT 全称为 Gradient Boosting Decision Tree。顾名思义,它是一种基于决策树(decision tree)实现的分类回归算法。不难发现,GBDT 有两部分组成: gradient boosting, decision tree。Boosting 作为一种模型组合方式,与gradient descent 有很深的渊源,它们之间究竟有什么关系?同时 decisio转载 2017-05-30 17:16:36 · 7138 阅读 · 4 评论 -
GBDT 梯度提升决策树的简单推导
GB, 梯度提升,通过进行M次迭代,每次迭代产生一个回归树模型,我们需要让每次迭代生成的模型对训练集的损失函数最小,而如何让损失函数越来越小呢?我们采用梯度下降的方法,在每次迭代时通过向损失函数的负梯度方向移动来使得损失函数越来越小,这样我们就可以得到越来越精确的模型。假设GBDT模型T有4棵回归树构成:t1,t2,t3,t4,样本标签为Y(y1,y2,y3,.....yn)设定原创 2017-03-14 17:31:53 · 7853 阅读 · 1 评论 -
windows下编译xgboost 并在eclipse中导入xgboost
1、相关环境配置介绍:64bit的windows下,2013版 VS, python 3.6, sklearn0.182、BOOST编译安装github下载地址: https://github.com/dmlc/xgboost/releases,用的最新版本 0.4x2.1 下载,导入解决方案下载成功后,打开xgboost-0.47源文件夹下的windows原创 2017-05-27 15:34:36 · 1042 阅读 · 0 评论 -
正则化方法:L1和L2 regularization、数据集扩增、dropout
正则化方法:防止过拟合,提高泛化能力在训练数据不够多时,或者overtraining时,常常会导致overfitting(过拟合)。其直观的表现如下图所示,随着训练过程的进行,模型复杂度增加,在training data上的error渐渐减小,但是在验证集上的error却反而渐渐增大——因为训练出来的网络过拟合了训练集,对训练集外的数据却不work。为了防止overfitt转载 2017-05-14 23:55:08 · 622 阅读 · 0 评论 -
梯度下降的一阶泰勒公式展开证明
在确定损失函数后,通过梯度下降优化算法来估计模型的未知参数:为何根据一阶泰勒展开,对于一个可微函数,对于任意的x,有:,其中是梯度,如果一维情况就是一阶导数。而其中,是两向量之间的夹角。当为180度得时候,g(x)*p可取到最小值,即为下降最快的方向。所以,负梯度方向为函数f(x)下降最快的方向,x为未知参数,对X进行迭代更新如果f(x)是凸原创 2017-03-14 14:28:18 · 11189 阅读 · 0 评论 -
spark ML 中 VectorIndexer, StringIndexer等用法
VectorIndexer主要作用:提高决策树或随机森林等ML方法的分类效果。VectorIndexer是对数据集特征向量中的类别(离散值)特征(index categorical features categorical features )进行编号。它能够自动判断那些特征是离散值型的特征,并对他们进行编号,具体做法是通过设置一个maxCategories,特征向量中某一个特征不原创 2017-03-19 21:46:20 · 18774 阅读 · 5 评论 -
Spark MLlib 机器学习指南
基于Spark 1.6.1 版本:机器学习库(MLlib)指南MLlib是Spark的机器学习(ML)库。旨在简化机器学习的工程实践工作,并方便扩展到更大规模。MLlib由一些通用的学习算法和工具组成,包括分类、回归、聚类、协同过滤、降维等,同时还包括底层的优化原语和高层的管道API。MLllib目前分为两个代码包:spark.mllib 包含基于RDD的原始转载 2017-03-02 15:10:05 · 963 阅读 · 0 评论 -
spark随机森林源码分析三
二已经很长了,告一段路,从三开始真正构建决策森林,首先创建缓存节点id的RDD,让所有点属于跟节点 val nodeIdCache = if (strategy.useNodeIdCache) { Some(NodeIdCache.init( data = baggedInput, numTrees = numTrees,转载 2017-03-01 14:10:07 · 1069 阅读 · 0 评论 -
Hanlp中基于2阶HMM 序列标注算法进行分词的代码解析
/** * 让模型观测一个句子 * @param wordList */ public void learn(List wordList) { LinkedList sentence = new LinkedList(); for (IWord iWord : wordList) {原创 2017-01-19 15:21:19 · 1354 阅读 · 0 评论 -
关于ROC AUC指标的详细介绍说明
转发一篇对于ROC AUC 解释比较通俗明了的文章:ROC(Receiver Operating Characteristic)曲线和AUC常被用来评价一个二值分类器(binary classifier)的优劣,对两者的简单介绍见这里。这篇博文简单介绍ROC和AUC的特点,以及更为深入地,讨论如何作出ROC曲线图以及计算AUC。ROC曲线需要提前说明的是,我们转载 2017-01-16 16:57:09 · 5286 阅读 · 0 评论 -
拉格朗日对偶性算法以及在SVM支持向量机中的应用
拉格朗日对偶函数:原创 2017-01-16 16:26:29 · 849 阅读 · 0 评论 -
核函数的理解一
首先给出官方核函数的定义,其定义如下(可参考统计学习方法):设X是输入空间(欧氏空间或离散集合),Η为特征空间(希尔伯特空间),如果存在一个从X到Η的映射φ(x): X→Η使得对所有的x,y∈X,函数Κ(x,y)=φ(x)∙φ(y),则称Κ(x,y)为核函数,φ(x)为映射函数,φ(x)∙φ(y)为x,y映射到特征空间上的内积。在该定义中,涉及到几个概念原创 2017-01-04 23:16:25 · 10628 阅读 · 1 评论 -
bagging与boosting两种集成模型的偏差bias以及方差variance 的理解
Bagging对样本重采样,对每一重采样得到的子样本集训练一个模型,最后取平均。由于子样本集的相似性以及使用的是同种模型,因此各模型有近似相等的bias和variance(事实上,各模型的分布也近似相同,但不独立)。由于,所以bagging后的bias和单个子模型的接近,一般来说不能显著降低bias。另一方面,若各子模型独立,则有,此时可以显著降低variance。若各子模型完全相同,则,此时不会原创 2016-12-27 14:03:25 · 13574 阅读 · 5 评论 -
基于python的SVM 实例
机器学习算法与Python实践这个系列主要是参考《机器学习实战》这本书。因为自己想学习Python,然后也想对一些机器学习算法加深下了解,所以就想通过Python来实现几个比较常用的机器学习算法。恰好遇见这本同样定位的书籍,所以就参考这本书的过程来学习了。 在这一节我们主要是对支持向量机进行系统的回顾,以及通过Python来实现。由于内容很多,所以这里分成三篇博文。第一篇讲SV原创 2016-12-07 17:45:52 · 10192 阅读 · 1 评论 -
如何解决机器学习中的数据不平衡问题
这几年来,机器学习和数据挖掘非常火热,它们逐渐为世界带来实际价值。与此同时,越来越多的机器学习算法从学术界走向工业界,而在这个过程中会有很多困难。数据不平衡问题虽然不是最难的,但绝对是最重要的问题之一。一、数据不平衡在学术研究与教学中,很多算法都有一个基本假设,那就是数据分布是均匀的。当我们把这些算法直接应用于实际数据时,大多数情况下都无法取得理想的结果。因为实际数据往往分布得很不原创 2017-05-21 23:01:26 · 10037 阅读 · 1 评论 -
模型评估的方法: ROC,AUC,RMSE等指标
在别的地方看到了一篇有关总结模型评估的文章,感觉讲解还是挺有点内容的,转载过来 学习学习 分享下模型评估的方法一般情况来说,F1评分或者R平方(R-Squared value)等数值评分可以告诉我们训练的机器学习模型的好坏。也有其它许多度量方式来评估拟合模型。你应该猜出来,我将提出使用可视化的方法结合数值评分来更直观的评判机器学习模型。接下来的几个部分将分享原创 2017-05-22 14:38:08 · 32135 阅读 · 2 评论 -
推荐系统中的召回率与准确率
准确率,顾名思义,就是准确程度。通过正确数/总数得到。而正确数是什么,总数是什么呢?召回率,我们可以理解为找到的数目与总的需要我们找到的数目的比,那在推荐系统中,什么是找到的数目,什么是需要我们总的找到的数目呢?令R(u)表示在根据训练数据给用户做出的推荐列表,T(u)表示用户根据测试数据给用户做出的推荐列表,则召回率:准确率: 精确率是针对我们预...原创 2018-06-20 15:31:27 · 14751 阅读 · 3 评论 -
Python Pandas与Numpy中axis参数的二义性
原文:https://blog.csdn.net/wangying19911991/article/details/73928172Pandas与Numpy中一个非常重要的参数:axis.(轴)Stackoverflow问题如下:python中的axis究竟是如何定义的呢?他们究竟代表是DataFrame的行还是列?考虑以下代码:>>>df = pd.DataFrame([[1,...转载 2018-03-29 16:15:13 · 344 阅读 · 0 评论 -
显著性水平 P值 概念解释
P是“拒绝原假设时犯错误概率”又或者说是“如果你拒绝掉原假设实际上是在冤枉好人的概率”。不管怎么表达理解上都有点绕,所以你还是看例子吧。比如你做一个假设( null hypothesis):你的女性朋友平均身高2米,输入你统计的样本数据后,计算机给你返回的p值是0.03。这意味着如果你拒绝“女性朋友平均身高2米”这个结论,犯错的概率是0.03,小于0.05(人们一般认为拒绝一句话时犯错概率小于0....原创 2017-12-11 17:10:49 · 37397 阅读 · 13 评论 -
假设检验中的P值 与显著性水平的联系
假设检验是推断统计中的一项重要内容。用SAS、SPSS等专业统计软件进行假设检验,在假设检验中常见到P值( P-Value,Probability,Pr),P值是进行检验决策的另一个依据。P值即概率,反映某一事件发生的可能性大小。统计学根据显著性检验方法所得到的P 值,一般以P < 0.05 为显著, P<0.01 为非常显著,其含义是样本间的差异由抽样误差所致的概率小于0.05 或0...原创 2016-05-19 10:53:29 · 103830 阅读 · 1 评论 -
统计学上的P值的含义通俗
首先解释下“有统计学意义”和“显著差异” 两个概念:”有统计学意义"和"差异显著"是两个不同的概念,"差异显著"易给人一种误导,原来两概念在统计学中经常有点通用,现在明确地只能用“有统计学意义”。P<0.05是指假设H0(即两总体没区别)成立的可能性概率在5%以下,a就是允许犯Ⅰ类错误(拒绝了正确的无效假设H0)的概率,一般在做假设检验之前先定好,如果a=0.05,表示允许犯Ⅰ类错误的概率为...原创 2016-05-19 14:30:52 · 141283 阅读 · 1 评论 -
逻辑回归模型中的回归系数的正负性符号的理解
WOE编码方式:逻辑回归的线性公式可以表示为:Ln(p/(1-p)) =β0+β1*x1+β2*x2+β3*x3+...+βn*xn其中,P是逻辑回归模型预测的负样本概率,Xn表示经过WOE编码后的特征,在风控场景下当概率P表示负样本出现的概率时,Ln(P/(1-P)表示的是负样本概率与正样本概率之比,因此假如当WOE公式是由上图中给出的形式,即每个bin下的正样本占全局正样本...原创 2020-05-02 10:09:17 · 293 阅读 · 0 评论 -
CRF的模型参数学习问题
当一个CRF条件随机场模型参数确定后,基于CRF进行状态序列预测问题,比如给定中文语句观测序列,来预测整个中文语句当中每个词的词性,实质问题就是预测每个句子的隐含词性状态问题,在相关条件转移矩阵等模型参数给定的条件下,利用维特比算法,就能预测出概率最大的隐含状态,从而实现词性识别,本文主要是讨论CRF 的另一个问题,条件随机场的模型参数学习问题。参考了两篇博客以及书中关于条件随机场的相关概念介绍,原创 2018-02-05 17:35:53 · 2881 阅读 · 0 评论 -
CRF的概率预测问题, 结合词性标注场景应用
看过中的有关条件随机场CRF的公式推导说明,确实看到有点云里雾里,感觉有点点抽象,有些点光看公司也一时无法想明白原理,因此借鉴了国外的一片有关CRF的介绍性说明,结合词性标注场景应用,通过对线性条件随机场的特征函数推导,一下子明白了许多,同时放上两个中文翻译的博客链接,一定程度上也帮助我理解CRF与词性标注的应用介绍:国外论文: http://blog.echen.me/2012/01/03/原创 2018-02-02 11:38:55 · 1216 阅读 · 0 评论 -
维特比算法的通俗案例解释
维特比算法本质上就是一个动态规划DP算法,在知乎上看到了关于一个解释维特比算法的解释https://www.zhihu.com/question/20136144, 因此在此特意在转载下,并加入一些个人对于结合实际案例场景下的算法理解说明:1.题目背景:从前有个村儿,村里的人的身体情况只有两种可能:健康或者发烧。假设这个村儿的人没有体温计或者百度这种神奇东西,他唯一判断他身体情原创 2018-02-01 17:40:07 · 7357 阅读 · 0 评论 -
ROC AUC的原理详解
ROC(Receiver Operating Characteristic)曲线和AUC常被用来评价一个二值分类器(binary classifier)的优劣,对两者的简单介绍见这里。这篇博文简单介绍ROC和AUC的特点,以及更为深入地,讨论如何作出ROC曲线图以及计算AUC。ROC曲线需要提前说明的是,我们这里只讨论二值分类器。对于分类器,或者说分类算法,评价指标主要有preci转载 2017-09-13 16:13:25 · 3393 阅读 · 0 评论 -
先验概率与后验概率、贝叶斯区别与联系
先验概率和后验概率教科书上的解释总是太绕了。其实举个例子大家就明白这两个东西了。假设我们出门堵车的可能因素有两个(就是假设而已,别当真):车辆太多和交通事故。堵车的概率就是先验概率。那么如果我们出门之前我们听到新闻说今天路上出了个交通事故,那么我们想算一下堵车的概率,这个就叫做条件概率。也就是P(堵车|交通事故)。这是有因求果。如果我们已经出了门,然后遇到了堵车,那么我们想原创 2017-08-23 14:25:26 · 38137 阅读 · 17 评论 -
机器学习中的参数与超参数之间的区别
机器学习中的模型参数和模型超参数在作用、来源等方面都有所不同,而模型超参数常被称为模型参数,这样,很容易对初学者造成混淆。本文给出了模型参数和模型超参数的定义,并进行了对比,指出了二者本质上的区别:模型参数是模型内部的配置变量,可以用数据估计模型参数的值;模型超参数是模型外部的配置,必须手动设置参数的值。我们在做研究的时候,会碰到很多术语。有时,在不同的研究领域还会出现同样名称原创 2017-08-07 15:38:42 · 30728 阅读 · 2 评论 -
xgboost 二分类问题实例
二分类问题本文介绍XGBoost的命令行使用方法。Python和R的使用方法见https://github.com/dmlc/xgboost/blob/master/doc/README.md。下面将介绍如何利用XGBoost解决二分类问题。以下使用的数据集见mushroom dataset简介产生输入数据XGBoost的输入数据格式和LibSVM一样。下面是XGB原创 2017-07-24 20:49:23 · 7395 阅读 · 1 评论 -
softmax 损失函数以及梯度推导计算
在 考虑数值计算稳定性情况下的Softmax损失函数的公式如下 :对所有样本及计入正则化惩罚后,损失函数公式为:我们先从 Li看起。f(i,j)即矩阵f(x,w)中的第i,j个元素。我们与之前一样求出样本集与权重集之间的评分集即可。max(fj)即在第i个样本的所有分类得分中最大的得分。从式中看,评分集中的每一个元素都需要减去这个最大得分,这可以通过矩阵操作原创 2017-08-07 20:17:56 · 14950 阅读 · 5 评论 -
ROC与AUC的定义与使用详解
分类模型评估:指标描述Scikit-learn函数Precision精准度from sklearn.metrics import precision_scoreRecall召回率from sklearn.metrics import recall_scoreF1F1值原创 2017-05-22 16:59:37 · 51903 阅读 · 11 评论 -
Python机器学习库scikit-learn实践
一、概述 机器学习算法在近几年大数据点燃的热火熏陶下已经变得被人所“熟知”,就算不懂得其中各算法理论,叫你喊上一两个著名算法的名字,你也能昂首挺胸脱口而出。当然了,算法之林虽大,但能者还是有限,能适应某些环境并取得较好效果的算法会脱颖而出,而表现平平者则被历史所淡忘。随着机器学习社区的发展和实践验证,这群脱颖而出者也逐渐被人所认可和青睐,同时获得了更多社区力量的支持、改进和推广转载 2016-12-07 17:22:35 · 579 阅读 · 0 评论 -
CART回归树对于特征的处理
CART算法的重要基础包含以下三个方面:(1)二分(Binary Split):在每次判断过程中,都是对观察变量进行二分。CART算法采用一种二分递归分割的技术,算法总是将当前样本集分割为两个子样本集,使得生成的决策树的每个非叶结点都只有两个分枝。因此CART算法生成的决策树是结构简洁的二叉树。因此CART算法适用于样本特征的取值为是或非的场景,对于连续特征的处理则与C4.5算原创 2016-06-07 14:36:17 · 9537 阅读 · 1 评论 -
贝叶斯法则与先验概率,后验概率
1.贝叶斯法则机器学习的任务:在给定训练数据D时,确定假设空间H中的最佳假设。最佳假设:一种方法是把它定义为在给定数据D以及H中不同假设的先验概率的有关知识下的最可能假设。贝叶斯理论提供了一种计算假设概率的方法,基于假设的先验概率、给定假设下观察到不同数据的概率以及观察到的数据本身。2.先验概率和后验概率用P(h)表示在没有训练数据前假设h拥有的初始概率。P(h)被原创 2016-02-03 15:53:10 · 9501 阅读 · 4 评论 -
PCA原理介绍
PCA理论基础 要解释为什么协方差矩阵的特征向量就是k维理想特征,我看到的有三个理论:分别是最大方差理论、最小错误理论和坐标轴相关度理论。这里简单探讨前两种,最后一种在讨论PCA意义时简单概述。3.1 最大方差理论 在信号处理中认为信号具有较大的方差,噪声有较小的方差,信噪比就是信号与噪声的方差比,越大越好。如前面的图,样本在横轴上的投影方差较大,在纵轴上的原创 2015-12-26 22:38:22 · 1446 阅读 · 0 评论 -
空间向量投影的一些整理
首先来看一个向量在另一个向量上的投影:若v向量为单位向量,则结果为 uv向量的点积 * v向量.即: 某个方向力u, 在v方向上的分量.假如V向量我们定义为单位向量,那么U向量在V向量上的投影向量就是UV向量的点积 * V向量,这样表示U向量在V向量方向上的分量,也是一个向量,点积值表示在V向量上的投影长度。因此空间中有N个向量,分别投影原创 2015-12-26 16:49:09 · 25257 阅读 · 1 评论 -
梯度 方向导数 偏导数的一些整理
方向导数与梯度之间的关系:方向导数是函数沿各个方向的导数,梯度是一个向量,因此梯度本身是有方向的:1、函数在梯度这个方向的方向导数是最大的,换句话说,一个函数在各个方向都有方向导数,其中梯度这个方向的导数为最大;2、函数方向导数的最大值为梯度的模。方向导数是一个标量,对隐函数在某点处求得对各个自变量的偏导数后,乘以某个方向上的各个角度的投影角度值,得到该点在这个方向原创 2015-12-23 10:07:04 · 9962 阅读 · 1 评论 -
卷积的物理意义
在无线通信研究生的学习阶段中,曾经大量接触数字信号处理中的卷积公式,后来工作中参与推荐系统开发时,涉及到短期和长期的用户主题偏好矩阵计算中,有引入各个主题偏好值 随着时间进行指数衰减,并进行线性叠加的数据处理,其实一定程度上来说 也是卷积的原理,网上看到一些关于卷积的物理意义的解释,感觉还可以,这里利用存款复利的概念来解释卷积的概念:小明存入100元钱,年利率是5%,按复利计算(即将每一年原创 2015-08-10 15:14:07 · 3519 阅读 · 0 评论