• 为了保证你在浏览本网站时有着更好的体验,建议使用类似Chrome、Firefox之类的浏览器~~
    • 如果你喜欢本站的内容何不Ctrl+D收藏一下呢,与大家一起分享各种编程知识~
    • 本网站研究机器学习、计算机视觉、模式识别~当然不局限于此,生命在于折腾,何不年轻时多折腾一下
LightGbm之直方图优化理解

LightGbm之直方图优化理解

简单介绍一下吧,lightgbm 是微软推出的 gbdt 相关的机器学习库,一开源就受到很多开发者的喜爱吧,主要是运行速度快并且节省内存,同时训练的精度也很高,感觉集中了所有的优势。在此之前用陈天奇的 xgboost 居多,也是神器。xgboost 采用了预排序的方法来处理节点分裂,在计算机领域要么就是空间换时间,或者时间换空间(这个也不是绝对,你可以通过某……

cpt序列预测

cpt序列预测

序列预测是当前深度学习最火热的应用之一。从搭建推荐系统到语音识别再到自然语言处理,序列预测有着广泛的应用前景。实现序列预测有很多不同的方法,比如利用机器学习中的马尔科夫模型/有向图,深度学习领域中的 RNN/LSTM 等等。在本文我们会用一种叫做紧凑预测树(Compact Prediction Tree,即 CPT)的算法。虽然知道这种算法的人并不多,但它……

推荐系统中融合特征排序两三事

推荐系统中融合特征排序两三事

一般情况下对于推荐输出的召回的候选集进行排序,ltr 排序这个也是大家经常使用的。lr+gbdt这个组合在 ctr 预估中已经被广泛使用了,当然在推荐结果的重排序中也发挥着重要的作用。如果直接将构造的特征向量输入到 lr 模型当中,每个特征都是单独的特征,各自之间没有什么联系。其实很多时候特征之间的组合的意义大于特征自身,因此 facebook 使用……

EM角度理解kmeans

EM角度理解kmeans

最近需要做一个国家区域的聚类分析,使用的是 kmeans 聚类方法,构造接近 900 维特征来进行聚类。使用 sklean 基本上就可以使用较少的代码来实现。中间使用过 TSNE 观察降维之后的特征在二维平面上的分布情况。kmeans 应该算是聚类算法中最简单的聚类算法了,在 spark 中也有其对应的实现。至于本篇文章的由来那就是归功于 LDA 的……

AUC推荐评价指标

AUC推荐评价指标

最近在极客时间上买了一个推荐三十六式的课程,作为一个推荐系统方面的新手,在这个课程上还是可以学习不少推荐方面的知识,今天在看到 BPR 的时候给出了 AUC 在衡量推荐结果指标这块的分析。乍一看 AUC 还可以干这事,至少之前是没想过的,以前都是使用 ROC 或者 AUC 来衡量监督学习的好坏,现在还可以用来衡量推荐算法的好坏。要分析这个就要从 AUC……

sklearn中tsne可视化

sklearn中tsne可视化

声明:manifold:可以称之为流形数据。像绳结一样的数据,虽然在高维空间中可分,但是在人眼所看到的低维空间中,绳结中的绳子是互相重叠的不可分的。参考sklearn 官方文档对数据降维比较熟悉的朋友可以看这篇博客t-SNE 实践——sklearn 教程数据降维与可视化——t-SNEt-SNE 是目前来说效果最好的数据降维与可视化方法,但是它……

机器学习和深度学习课程笔记打印版

机器学习和深度学习课程笔记打印版

Coursera 深度学习教程中文笔记课程概述https://mooc.study.163.com/university/deeplearning_ai#/c这些课程专为已有一定基础(基本的编程知识,熟悉Python、对机器学习有基本了解),想要尝试进入人工智能领域的计算机专业人士准备。介绍显示:“深度学习是科技业最热门的技能之一,本课程将帮你掌握……

PersonalRank算法以及实现

PersonalRank算法以及实现

先举个例子上面的二部图表示 user A 对 item a 和 c 感兴趣,B 对 a b c d 都感兴趣,C 对 c 和 d 感兴趣。本文假设每条边代表的感兴趣程度是一样的。现在我们要为 user A 推荐 item,实际上就是计算 A 对所有 item 的感兴趣程度。在 personal rank 算法中不区分 user 节点和 item ……

网易云课堂0x3-偏差与方差

网易云课堂0x3-偏差与方差

其实吧这篇文章可写可不写,因为这个偏差和方差的问题在机器学习中算是经常遇到,大家根据不同的业务场景来做相应的取舍。说道这个也是昨天晚上看深度学习课程的时候,吴恩达大大提到了传统的机器学习方法一般情况下很难固定其中一个减小另外一个,但是深度学习可以做得到,当然深度学习的调参依赖于一定的手段,最佳的参数也是在不断的尝试中得到。从这一点来说,深度学习可以占据一……

数据清洗的几个常用方法

数据清洗的几个常用方法

数据科学家花了大量的时间清洗数据集,并将这些数据转换为他们可以处理的格式。事实上,很多数据科学家声称开始获取和清洗数据的工作量要占整个工作的 80%。因此,如果你正巧也在这个领域中,或者计划进入这个领域,那么处理这些杂乱不规则数据是非常重要的,这些杂乱数据包括一些缺失值,不连续格式,错误记录,或者是没有意义的异常值。在这个教程中,我们将利用 Pyth……

LTR排序之pair-wise-ranknet算法TensorFlow实现

LTR排序之pair-wise-ranknet算法TensorFlow实现

在之前的有一篇文章给出了pointwise 之 prank 算法说明以及实现,这一篇文章会讲解 pairwise。写这篇文章之前也看了很多篇博客包括原版论文,在这里自己尽量用白话 的方式让读者理解这个看似很厉害的方法。乍一看 pair,英文直接翻译就是一对的意思,哈哈,这个排序方法与组队有很大的关系,究竟组队会在哪里体现呢?等会就知道了先看两幅图,为什……

网易云课堂-0x2深度学习激活函数

网易云课堂-0x2深度学习激活函数

:mrgreen:博主今天跑完微马拉松,回来之后躺在沙发上就睡着了,醒来洗个澡开始学习了,网易云课堂的视频最近也在看,今天来说下几个激活函数吧,在没有深度学习之前基本上常用的就是 sigmoid 函数,主要还是在 lr 中用到的比较多。在吴恩达的 DeepLearning 视频中给出了四个激活函数,分别是 sigmoid,tanh 和 relu lea……

LTR-pointwise之prank-python代码实现

LTR-pointwise之prank-python代码实现

修改记录:2017/3/22 修改代码中的部分 BUG核心代码 https://github.com/zhusimaji/ml/blob/master/prank.pydef learn_to_rank(self): print 'start to learn rank' new_label = [0 for x in rang……

最大熵理论推导

最大熵理论推导

先给出一个例子抛出最大熵的问题。。掷骰子,骰子总共有 6 个点数,现在你觉得每个点数掷到的概率多大?你毫不犹豫的说 1/6,此时你就使用了最大熵模型来解决这个问题,只是你自己不知道。在没有任何约束的情况下,你认为等概率事件是最好的结果,如果现在继续告诉你 1 点和 2 点的概率占比 1/2,那么剩下的四个点数的总规律是 1/2,此时你又要做均分了……

kd树基本描述

kd树基本描述

kd 树的结构kd 树是一个二叉树结构,它的每一个节点记载了【特征坐标,切分轴,指向左枝的指针,指向右枝的指针】。其中,特征坐标是线性空间\(R^n\)中的一个点\(x_1,x_2,…,x_n\)。切分轴由一个整数\(r\)表示,这里\(1 \le r \le n \),是我们在 n 维空间中沿第 r 维进行一次分割。节点的左枝和右枝分别……

Kmean计算优化

Kmean计算优化

最近一些列的博客尽量使用口语化的方式来把问题说明白,一般情况下能把事情说的明明白白也可以变相的说明你对问题有一定的了解。此处十一点四十多了码子有点困了。。。。continuekmean 聚类被使用的机会还是很多,计算比较简单,实现也简单。简单的方法也容易排查问题,kmean 自身也有局限性,比如初始聚类中心点的选择对算法的影响以及聚类的个数 k 值的选择……

随机森林之特征选择

随机森林之特征选择

随机森林的介绍在这篇文章中就不多介绍了,核心思想就是双随机过程:随机样本采样和随机特征采样特征选择下面介绍两种方式(1)基尼系数(2)oob(out of bag) Error 袋外误差基尼系数在决策树中 cart 树就是使用基尼系数来进行节点划分,在每一个节点划分的时候,计算每一个特征的基尼系数,选择基尼系数较小的特征,基尼系数越小,反应得……

常见优化方法的梳理

常见优化方法的梳理

今天主要要说一下常见的几个优化方法分别是梯度下降、随机梯度下降、牛顿法和拟牛顿法NO1 梯度下降从字面意思理解就是沿着梯度下降的方向做些事情,做的啥事情?就是求解最优参数的事情。从二维的角度来看梯度,注意我们在计算梯度的时候是关注我们计算的那个的梯度,只涉及到点,二维平面可以用切线,三维可以用切面描述,高维另说。所以接下来的讨论都是关注在某一个点相关。……