随笔分类 -  Machine Learning

机器学习相关理论与算法
几句话总结一个算法之CTR预估模型
摘要:背景 假设现在有个商品点击预测的任务,有用户端特征性别、年龄、消费力等,商品侧特征价格、销量等,样本为0或者1,现在对特征进行one hot encode,如性别特征用二维表示,男为[1,0],女为[0,1],其他特征相同处理后拼接起来一共有n维,n是所有特征的类别数之和。 Logistic Reg 阅读全文

posted @ 2019-11-13 11:41 daniel-D 阅读(1568) 评论(0) 推荐(0) 编辑

深度图像特征在推荐和广告中的应用(二)
摘要:Deep CTR Prediction in Display Advertising 这篇文章发表在 ACM MM16,与腾讯那篇“Image Feature Learning for Cold Start Problem in Display Advertising” 不同的是,这篇文章把特征提取与点击率预估整合在一起,做到了end to end的训练。 阅读全文

posted @ 2017-12-16 11:41 daniel-D 阅读(1824) 评论(0) 推荐(0) 编辑

深度图像特征在推荐和广告中的应用(一)
摘要:CNN 是一个简单的网络结构,初学者一般从MNIST入手,提及CNN第一印象可能只有经典的图像分类的那个model。深入了解才会发现,学术圈和工业界是如何通过稍稍改变 Feature Map 之后的结构和目标函数等实现各种复杂任务,这其中迸发的想象力让人激动。 阅读全文

posted @ 2017-12-14 15:28 daniel-D 阅读(2650) 评论(0) 推荐(1) 编辑

机器学习之损失函数
摘要:以margin作为横轴,黑色表示分类loss,红色表示log loss,蓝色表示 hinge loss,绿色表示 square error,可以看到随着 margin 变大,loss 总体是单调递减的,但是 squared error 超过1后会递增 阅读全文

posted @ 2017-11-30 21:17 daniel-D 阅读(5314) 评论(0) 推荐(1) 编辑

Kaggle实战之二分类问题
摘要:x、o分别表示label为负和正的样本,划分为上下两列,假设模型预测值是一个连续值(如为正的概率),把正负样本按照预测值从低到高分别排列好。一个好的模型,应该是左上角分布较密集,表示很多负样本预测值较小 阅读全文

posted @ 2017-11-24 12:12 daniel-D 阅读(6621) 评论(1) 推荐(0) 编辑

Kaggle实战之一回归问题
摘要:根据某时刻房价相关数据,预测区域内该时刻任一街区的平均房价 阅读全文

posted @ 2017-11-21 11:02 daniel-D 阅读(11000) 评论(1) 推荐(2) 编辑

scikit-learn——快速入门
摘要:scikit-learn——快速入门sklearn 快速入门环境:ubuntu 12.04, 64 bitspython 2.7sklearn 0.14好几个月没有发博客了,平时的笔记都随意记在印象笔记中。现在闲着有空,把 sklearn 的基本模型学一学。实际上 scikit-learn 的学习材... 阅读全文

posted @ 2014-04-30 16:38 daniel-D 阅读(6289) 评论(0) 推荐(1) 编辑

从随机过程到马尔科夫链蒙特卡洛方法
摘要:1. Introduction第一次接触到 Markov Chain Monte Carlo (MCMC) 是在 theano 的 deep learning tutorial 里面讲解到的 RBM 用到了 Gibbs sampling,当时因为要赶着做项目,虽然一头雾水,但是也没没有时间仔细看。趁目前比较清闲,把 machine learning 里面的 sampling methods 理一理,发现内容还真不少,有些知识本人也是一知半解,所以这篇博客不可能面面俱到详细讲解所有的 sampling methods,而是着重讲一下这个号称二十世纪 top 10 之一的算法—— Markov c 阅读全文

posted @ 2013-10-25 23:07 daniel-D 阅读(36727) 评论(6) 推荐(9) 编辑

机器学习中导数最优化方法(基础篇)
摘要:1. 前言熟悉机器学习的童鞋都知道,优化方法是其中一个非常重要的话题,最常见的情形就是利用目标函数的导数通过多次迭代来求解无约束最优化问题。实现简单,coding 方便,是训练模型的必备利器之一。这篇博客主要总结一下使用导数的最优化方法的几个基本方法,梳理梳理相关的数学知识,本人也是一边写一边学,如... 阅读全文

posted @ 2013-10-19 14:57 daniel-D 阅读(17790) 评论(8) 推荐(11) 编辑

漫谈:机器学习中距离和相似性度量方法
摘要:在机器学习和数据挖掘中,我们经常需要知道个体间差异的大小,进而评价个体的相似性和类别。最常见的是数据分析中的相关分析,数据挖掘中的分类和聚类算法,如 K 最近邻(KNN)和 K 均值(K-Means)等等。根据数据特性的不同,可以采用不同的度量方法。一般而言,定义一个距离函数 d(x,y), 需要满足下面几个准则:1) d(x,x) = 0 // 到自己的距离为02) d(x,y) >= 0 // 距离非负3) d(x,y) = d(y,x) // 对称性: 如果 A 到 B 距离是 a,那么 B 到 A 的距离也应该是 a4) d(x,k)... 阅读全文

posted @ 2013-08-07 22:33 daniel-D 阅读(41556) 评论(13) 推荐(19) 编辑

SVM 简要推导过程
摘要:SVM 是一块很大的内容,网上有写得非常精彩的博客。这篇博客目的不是详细阐述每一个理论和细节,而在于在不丢失重要推导步骤的条件下从宏观上把握 SVM 的思路。1. 问题由来SVM (支持向量机) 的主要思想是找到几何间隔最大的超平面对数据进行正确划分,与一般的线性分类器相比,这样的超平面理论上对未知的新实例具有更好的分类能力。公式表示如下:: 所有点中最小的几何间隔, 实际上就是支持向量上的点的几何间隔: 训练样本及对应标签,, 作用是将第 i 个样本点的几何间隔转化为正数公式的意思是假设每个训练样本点的几何间隔至少是, 求的最大值。由于几何间隔(没帽子)和函数间隔(有帽子)的关系是:最大化可 阅读全文

posted @ 2013-08-05 09:16 daniel-D 阅读(6480) 评论(0) 推荐(1) 编辑

CNN 手写数字识别
摘要:1. 知识点准备在了解 CNN 网络神经之前有两个概念要理解,第一是二维图像上卷积的概念,第二是 pooling 的概念。a. 卷积关于卷积的概念和细节可以参考这里,卷积运算有两个非常重要特性,以下面这个一维的卷积为例子:第一个特性是稀疏连接。可以看到, layer m 上的每一个节点都只与 layer m-1 对应区域的三个节点相连接。这个局部范围也叫感受野。第二个特性是相同颜色的线条代表了相同的权重,即权重共享。这样做有什么好处呢?一方面权重共享可以极大减小参数的数目,学习起来更加有效,另一方面,相同的权重可以让过滤器不受图像位置的影响来检测图像的特性,从而使 CNN 具有更强的泛化能力。 阅读全文

posted @ 2013-07-21 10:24 daniel-D 阅读(5589) 评论(0) 推荐(1) 编辑

MLP 之手写数字识别
摘要:0. 前言前面我们利用 LR 模型实现了手写数字识别,但是效果并不好(不到 93% 的正确率)。 LR 模型从本质上来说还只是一个线性的分类器,只不过在线性变化之后加入了非线性单调递增 sigmoid 函数进行一一映射。实际上,这里的非线性变换对于我们分类来说是几乎没有什么作用的(在分类上,它等价于线性变换之后挑选出输出值最大的节点作为我们的预测结果),于是我们考虑用更复杂一点的带有一个隐层的 MLP (Multi-Layer Perceptron) 模型。1. 模型MLP 模型可以看作是在输入空间经过非线性变换(第一层与第二层)之后的 LR(第二层与第三层), MLP 的优势在于,一个经过训 阅读全文

posted @ 2013-06-09 00:01 daniel-D 阅读(2620) 评论(0) 推荐(0) 编辑

BP 算法之向后传导
摘要:0. 前言上一篇文章我们从十分直观的角度理顺了 BP 算法的流程,总结起来,一次 BP 权值调整的过程是这样的:输入向量从输入节点依次向后传播,我们可以计算出 the activation of all the hidden and output units计算每个输出节点的残差输出节点的残差依次向前传播,由此可以求得各个隐层的残差由隐层的残差可以求得隐层左侧权重的更新虽然我们理顺了过程,但是残留下来的问题太多了。比如,这里的 “残差” 究竟是什么,为什么由 “残差” 乘以前一节点的 activation 的值累加起来就可以求得权重的更新。这其中说白的就是 partial derivative 阅读全文

posted @ 2013-06-06 18:12 daniel-D 阅读(4702) 评论(0) 推荐(1) 编辑

BP 算法之一种直观的解释
摘要:0. 前言之前上模式识别课程的时候,老师也讲过 MLP 的 BP 算法, 但是 ppt 过得太快,只有一个大概印象。后来课下自己也尝试看了一下 stanford deep learning 的 wiki, 还是感觉似懂非懂,不能形成一个直观的思路。趁着这个机会,我再次 revisit 一下。本文旨在说明对 BP 算法的直观印象,以便迅速写出代码,具体偏理论的链式法则可以参考我的下一篇博客(都是图片,没有公式)。1. LMS 算法故事可以从线性 model 说起(顺带复习一下)~在线性 model 里面,常见的有感知机学习算法、 LMS 算法等。感知机算法的损失函数是误分类点到 Target 平 阅读全文

posted @ 2013-06-03 23:35 daniel-D 阅读(28283) 评论(4) 推荐(4) 编辑

Logistic Regression 之手写数字识别
摘要:0. 前言 本文是应用 logsitic regression 模型对手写数字识别的实现,整个程序是基于 MNIST 手写数字数据库进行 train, cross validate 和 test 的,如需下载 python 实现的源代码,请点击这里,你还可以在这里下载数据集。 MNIST 数据库由NYU 的 Yann LeCun 等人维护, Yann LeCun 自 1998 年以来就一直从事这方面的研究,实现的方法包括 linear classifier, K-NN, SVM, CNN 等,他提出的卷积神经网络是第一个真正多层结构学习算法,利用空间相对关系减少参数数目以提高训练性能,咱手写. 阅读全文

posted @ 2013-06-02 01:31 daniel-D 阅读(5054) 评论(0) 推荐(0) 编辑

Logistic Regression 之基础知识准备
摘要:0. 前言 这学期 Pattern Recognition 课程的 project 之一是手写数字识别,之二是做一个网站验证码的识别(鸭梨不小哇)。面包要一口一口吃,先尝试把模式识别的经典问题——手写数字识别做出来吧。这系列博客参考 deep learning tutorial ,记录下用以下三种方法的实现过程:Logistic Regression - using Theano for something simpleMultilayer perceptron - introduction to layerDeep Convolutional Network - a simplified . 阅读全文

posted @ 2013-05-30 21:54 daniel-D 阅读(24231) 评论(0) 推荐(2) 编辑

导航