统计学习
a_step_further
这个作者很懒,什么都没留下…
展开
-
图上的机器学习系列-聊聊DeepWalk
前言本篇着重结合论文《DeepWalk: Online Learning of Social Representations》来聊,过程中尽量把一些概念和方法展开多讨论一下。DeepWalk是干啥的我们来想这样一件事:机器学习是咋工作的?需要输入一堆特征变量对吧?无论是离散型还是连续型,但都是欧式空间中的数学表达,总归是可以用很多数学工具来分析的。但一个社交网络的图结构呢?每一个点该...原创 2020-04-05 00:30:03 · 644 阅读 · 1 评论 -
上手机器学习系列-第7篇(下)-CatBoost论文阅读笔记
前言在第7篇(上),我们介绍了CatBoost的代码实践,本篇来一起读一下算法原创论文《CatBoost: unbiased boosting with categorical features》,以期加深对于CatBoost的理解。论文中心思想笔者提炼了一下论文的核心逻辑如下图所示:所以最核心的是要理解论文提出的排序原则到底是咋回事。内容导读CatBo...原创 2020-03-24 18:14:01 · 740 阅读 · 0 评论 -
上手机器学习系列-第6篇(下)-LightGBM原理篇
前言前面的文章分享过了LightGBM的实践编码,本篇让我们一起来读一下算法论文《LightGBM: A Highly Efficient Gradient Boosting Decision Tree》,从原理层面上去深入一层。推荐大家在读论文的同时,参考LightGBM官网材料([https://lightgbm.readthedocs.io/en/latest/Features.html...原创 2020-03-20 15:08:59 · 394 阅读 · 1 评论 -
上手机器学习系列-第5篇(下)-XGBoost原理
本篇中我们结合XGBoost的论文《XGBoost: A Scalable Tree Boosting System》来理解一下该算法的原理。这是一篇写自2016年的论文,当时已经有大量的竞赛、工作实践开始采用XGBoost。作者在论文中将XGBoost称为Scalable,正是基于它的高性能特点,据论文讲,根据当时的评估,在单机上的运行速度对比中,XGBoost较业内其它算法快了至少10倍以上...原创 2020-03-19 10:17:57 · 258 阅读 · 0 评论 -
上手机器学习系列-第7篇(上)-CatBoost编码
前言本篇继续我们的集成算法学习之旅。这次带来的是一家俄罗斯搜索引擎公司推出的集成学习算法:Catboost(官网[https://catboost.ai/])。名字中的cat代表着categorical,就是说它可以直接处理类别型的特征变量,而无须进行one-hot-encoding处理,这还真是相比于其它算法包的一个优点。此外,官方宣传的卖点还包括:简化的调参(默认的参数即可实现高质量的预测)...原创 2020-03-15 20:03:27 · 1774 阅读 · 0 评论 -
上手机器学习系列-第5篇(中)-XGBoost+Scala/Spark
书接上回在上篇中,我们介绍了XGBoost的原生接口使用方法,以及sklearn版本的接口。本篇我们再结合Scala/Spark来聊聊,以体现XGBoost在工程上的易用性。Spark是基于Scala原生语言开发的一个分布式迭代计算平台,其中MLLib模块包括了很多机器学习算法包(但比起Sklearn来肯定还是少的)。Scala 是一门面向对象+函数式JVM语言,需要编译后才能执行,但...原创 2020-03-13 09:54:08 · 1831 阅读 · 2 评论 -
上手机器学习系列-第5篇(上)-XGBoost
引言在第4篇中我们简要介绍了GBDT的使用方法,本篇来聊一种进阶的GBDT-XGBoost,这是一款极其优秀的算法解决方案,项目官方网站:https://xgboost.readthedocs.io/en/latest/。XGBoost本身最大的优势就在于它在工程上做了大量的工作,使得该算法可以广泛应用到不同的生态中(python、spark、C++等)。Python + XGBoost对...原创 2020-03-12 21:39:07 · 505 阅读 · 0 评论 -
上手机器学习系列-第4篇-聊聊GBDT
前言本期我们来聊GBDT,这是一种被广泛使用的集成学习方法。当今在kaggle竞赛中被广泛使用的XGBoost、LightGBM正是以它为基础。因此掌握好该基础算法的原理与编码技巧还是有必要的。我们知道,集成学习大致可分为Bagging、Boosting两种方法,其对于集成中每个单独学习器的训练过程如下简图所示:GBDT顾名思义,也是一种Boosting方法。我们不妨再把它的名字拆开说一下...原创 2020-03-11 17:27:09 · 220 阅读 · 0 评论 -
上手机器学习系列-第2篇-工具&学习资料准备篇
上手机器学习系列-第2篇-工具&学习资料准备篇工欲善其事,必先利其器。既然机器学习是一门实践性科学,那么过程中就非常重视动手能力了。本期为大家推荐一些相关的软件工具、学习资源,以期在正式开始编码之前让大家做好相应的准备工作。因为可以选择的平台与工具太多,反而是一种信息干扰,这里笔者结合多年行业工作经验为大家遴选出一些比较好的资料,以节约朋友们的自我探索时间。1. 编程环境现如今支持机...原创 2020-03-05 07:53:26 · 239 阅读 · 0 评论 -
python scikit learn 文本分类
#!/usr/bin/env python#coding:utf-8import jiebafrom sklearn.feature_extraction.text import HashingVectorizerimport sysimport randomfrom sklearn.naive_bayes import GaussianNBfrom sklearn.naive_b原创 2015-12-05 22:00:51 · 1371 阅读 · 0 评论 -
统计学习笔记-KNN的缺陷
KNN的特点决定了当数据维度较高时,搜索k个最近邻,就需要k次全局计算,计算量太大。故而才有了KD树这样的思想,让空间划分为若干个子空间,形成树状的结构,搜索最近邻时,从叶子向上回溯。这样就把一个全局空间计算的问题,变成了局部空间计算的问题。原创 2015-11-01 11:06:23 · 476 阅读 · 0 评论 -
《统计学习》笔记
有的方法依赖于某一种或几种前提假设,当这些假设不满足时,方法也就不适用。而有的方法可适用于任何场景。原创 2015-09-14 23:01:06 · 384 阅读 · 0 评论