自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(66)
  • 资源 (2)
  • 收藏
  • 关注

原创 xgboost原理分析以及实践

摘要本文在写完GBDT的三篇文章后本来就想写的,但一直没有时间,终于刚好碰上需要,有空来写这篇关于xgboost原理以及一些实践的东西(这里实践不是指给出代码然后跑结果,而是我们来手动算一算整个xgboost流程)由于网上已经许多优秀的文章对xgboost原理进行了详细的介绍,特别是xgboost作者陈天奇的论文以及slide已经非常完整阐述了整个xgboost的来龙去脉,现有的文章基本也...

2018-03-10 00:44:28 24764 55

原创 算一算-Word2Vec(2)

摘要:上一篇文章里,我们详细的介绍了Word2Vec下SkipGram的层级SoftMax的计算流程,在这篇文章里,我们将介SkipGram下的Negative Sampling的计算流程。训练参数和上篇文章一样,我们使用同样的参数以及训练语料,具体如下: 训练语料如下: SkipGram & Negative Samping 训练过程预备工作:和层...

2018-07-02 00:25:25 1207

原创 算一算-Word2Vec

摘要在前面的文章里面已经非常粗略的介绍过Word2Vec的原理,因为网上关于W2V的学习材料已经足够多了,写的也非常的好。但是大部分的文章也是只是介绍了整个W2V的原理,对于里面一些计算的细节,似乎并没有文章分析,另一方面,可能对于部分人来说,读完了原理之后非常想有一个真真切切的例子把整个Word2Vec的流程算一遍,所以,本文参照前面对GBDT,XGBOOST的文章,把整个W2V的计算过程演...

2018-06-24 23:57:20 1636 2

原创 FM学习记录

摘要:本文将要介绍一个在推荐、CTR中很常见的模型,FM(Factorization Machines)。前言我们首先回忆一下在推荐或者CTR预估的场景下我们经常用的模型是LR。具体来说我们熟悉的LR即如(0)式。 ŷ =w1x1+w2x2+...wnxn=∑ni=1wixi(0)(0)y^=w1x1+w2x2+...wnxn=∑i=1nwixi\hat{y}=w_1...

2018-04-13 15:58:41 1411 1

原创 MLE和MAP的小结

摘要本文是关于MLE(最大似然估计)与MAP(最大后验概率)的一些自己学习的心得. (本文的重点在于对比MLE和MAP)正文1.MLE(最大似然估计)MLE简单的理解可以这样:假设我们手上有一批数据(样本),而且我们假设这些数据(样本)服从某个分布( 模型已知),但是参数未知.这个时候,我们希望对这个参数进行估计,而MLE的思想就是找到一个参数值,使得每条样本出现的概率最...

2018-04-09 20:54:52 7101 4

原创 优化算法-总结2

摘要:之前写过一篇关于常见优化算法的总结,但是当时由于时间的关系,没有做太多细节的总结。这篇文章结合上一篇文章,做更加细节的总结。梯度下降法在优化算法里面,梯度下降法是最为核心的一个算法,我们熟知,所谓的梯度下降法就是形如下式的式: wt:=wt−1−λ∂L∂w(0)(0)wt:=wt−1−λ∂L∂ww^t :=w^{t-1}-\lambda\frac{\partial L}{\...

2018-03-14 23:20:20 979

原创 AdaBoost简单总结

摘要:继前面的gbdt,xgboost,这里是关于另外一个很有名的boosting算法,Adaboost,Ada是Adaptive的缩写(此外,有一种优化算法adagrad,自适应梯度下降也是用的adaptive缩写)。 同时由于网上对Adaboost的介绍的资料也很充足。在李航《统计学习方法》上面也有一个实际演算的例子。周志华《西瓜书》也对adaboost作了比较清晰的分析,所这里只是简单...

2018-03-13 14:38:06 1781

原创 SVD与PCA的问题

摘要:继上一篇文章对PCA分析后,这篇文章将介绍一个每提及PCA时,都会提到的名字SVD。SVD是什么?SVD,奇异值分解。是属于矩阵分解里面的一种方法。 在谈论SVD之前,其实有必要回忆另外的一种很常用的矩阵分解。 可以看到,对于任意的n×n的对称矩阵A,都存在A=VDVTA=VDVTA=VDV^T。 那么假如矩阵A不是方针那么是否存在类似的分解呢?没错,这个就是SVD...

2018-03-06 21:03:18 2112 2

原创 PCA学习记录

摘要:本文主要讨论的对象是PCA(主成分分析)。PCA是什么?PCA(主成分分析)在机器学习中的应用很广泛,通常PCA可以用来对数据进行降维,或者说将数据从高维的空间映射到低维的空间。简单来说,所谓的降维其实就是这么一个过程:假设原始数据有nnn个样例,mmm个特征,也就是n×mn×mn×m的矩阵。把这个n×mn×mn×m的规模的矩阵映射成一个n×kn×kn×k的矩阵过程就是一...

2018-03-06 14:56:05 808

原创 二分查找算法

摘要二分查找,一个很经典的算法。但是真正理解透彻这个算法却不容易。下面记载一点自己学习二分查找的心得。 参考正文:二分查找有N多种写法,有各种各样的形式,选一种合适自己,自己能够理解记住的才是最好的。下面分享一个我比较赞的版本。对于最最最原始的二分查找,即给出一个Key,查找出key值的索引号。 注意注意注意!!最经典的二分查找对返回来的索引号没有任何要求,只要其对应的值是...

2018-01-31 15:51:42 4714

原创 排序算法总结

摘要:本文是对常见的排序算法进行总结和分析,也是自己在找工作经常被问到的问题的一些总结。排序算法稳定性的定义:假定在待排序的记录序列中,存在多个具有相同的关键字的记录,若经过排序,这些记录的相对次序保持不变,即在原序列中,ri=rj,且ri在rj之前,而在排序后的序列中,ri仍在rj之前,则称这种排序算法是稳定的;否则称为不稳定的。1.1冒泡排序的思想对相邻的元素进行两两比较,顺序相反则进行交换。...

2018-01-30 17:03:07 681

原创 GBDT原理与实践-多分类篇

摘要:GBDT-分类 GBDT-回归 前面两篇文章已经详细介绍了在回归和分类下的GBDT算法。这一篇文章将最后介绍一个多分类任务的GBDT。其过程和二分类的GBDT类似,但是有一个地方有很大的不同,下文将详细的介绍。正文:下图是Friedman在论文中对GBDT多分类给出的伪代码: 从代码上看,大致和分类时候的过程一样。最大的不同点在于多了一层内部的循环For。这...

2018-01-29 22:08:16 29785 69

原创 GBDT原理与Sklearn源码分析-分类篇

摘要:继上一篇文章,介绍完回归任务下的GBDT后,这篇文章将介绍在分类任务下的GBDT,大家将可以看到,对于回归和分类,其实GBDT过程简直就是一模一样的。如果说最大的不同的话,那就是在于由于loss function不同而引起的初始化不同、叶子节点取值不同。正文:GB的一些基本原理都已经在上文中介绍了,下面直接进入正题。 下面是分类任务的GBDT算法过程,其中选用的loss f...

2018-01-29 14:06:42 29436 52

原创 GBDT原理与Sklearn源码分析-回归篇

摘要:本文将非常详细的介绍GBDT(Gradient Boosting Decision Tree)的原理以及Sklearn里面具体是如何实现一个GBDT的。本次内容将分为两篇文章,一篇是GBDT用于回归,一篇是GBDT用于分类任务。虽然两者其实本质是一样的,只是loss function不同,但是分成两篇可以帮助更好的对比理解。注意:本文前半部分是GBDT原理的一个概述,后半步是skle...

2018-01-28 13:28:40 32534 47

原创 RNN-LSTM-GRU学习笔记

摘要:本文用于总结整个RNN的学习过程以及学习资料。RNN1.下文是rnn利用Bptt的训练的推导过程。 RNN与bptt推导过程 2.rnn一些基本概念以及问题分析 参考文章-1 RNN中为什么要采用tanh而不是ReLu作为激活函数?常见问题:1.RNN是什么? RNN是循环神经网络的简称。常用来对时间序列建模,具体来说就是一个序列当前的输出和前面的输出也

2018-01-23 12:15:39 1217

原创 RNN-bptt简单推导

摘要: 在前面的文章里面,RNN训练与BP算法,我们提到了RNN的训练算法。但是回头看的时候在时间的维度上没有做处理,所以整个推导可能存在一点问题。 那么,在这篇文章里面,我们将介绍bptt(Back Propagation Through Time)算法如在训练RNN。关于bptt 这里首先解释一下所谓的bptt,bptt的思路其实很简单,就是把整个RNN按时间的维度展

2018-01-22 17:00:30 3187 1

原创 BP算法直观解释

摘要: 经过前面3篇文章的BP推导,相信大家对Bp的推导应该不陌生了,今天我们尝试展开我们推导得到的公式,来看看能否得到一个直观的解释。 在BP算法心得体会一文中,我们推导得到多层神经网络的误差信号的公式,具体如下:(假设损失函数EE为均方误差) 对于输出层: δ(o)k=(ok−tk)∗f′(netk)\delta_k^{(o)}=(o_k-t_k)*f^{'}(net_k)

2018-01-17 18:24:44 768

原创 BP算法推导-softmax层+交叉熵(logloss)

摘要: 在之前的两篇文章中RNN训练与BP算法,BP算法心得体会都是在具体在讲bp算法在神经网络里面的推导。两篇文章都没有讲过和softmax相关的东西。而softmax作为分类任务里面重要的一层,所以打算本篇文章介绍一下softmax层。另外,一致沿用的损失函数都是均方误差,所以借这个机会也讲解下当损失函数是交叉熵时候的推导情况。引言: 本文打算在RNN训练与BP算法文章的基

2018-01-17 17:00:14 5515

原创 RNN训练与BP算法

摘要: 本文主要讲述的RNN(循环神经网络)在训练过程中BP算法的推导。 在阅读本文之前希望读者看过我的另一篇文章BP算法心得体会。因为大部分的思路沿用的就是这篇文章的思路。 参考文章: 数学推导-1 数学推导-2 更新-2018-01-23: 之前写完这篇文章之后,回头看了一遍文章,发现在整个推导的过程都无视了时间维度的存在,所以后来查阅了相关的资料,发现目前网上有一部分R

2018-01-16 22:18:34 6596 2

原创 BP算法心得体会

摘要:关于BP算法(误差反向传播)网上的学习、参考资料已经有很多了。每篇文章都差不多,都是在阐述BP的数学原理或者实践。本篇文章其实也和网上大部分文章一样,但从一个初学者的角度来分享学习这个算法的过程的一些体会。参考资料: 知乎-BP算法 清晰的数学推导预先定义: 网上许多资料都是以单层的神经网络为例推导BP算法,本文用一个两个隐藏层的神经网络为例推导BP算法。(其实结果

2018-01-15 12:12:13 3733

原创 word2vector入门教程

摘要:网上已经有许多对w2v的介绍了,这里只是做一个简单的概括。下面这篇文章我认为是关于W2V写的比较好的文章,读者有兴趣可以先参考一下:w2v参考文章1另外一篇是关于Skip-Gram和CBow的介绍。Skip-Gram&CBOW逻辑比较清晰的综述文章:综述文章数学原理很清晰很短的一篇文章(也有关于负采样的简单说明)参考文章1.什么

2018-01-13 21:50:34 15068 2

原创 python-一些骚的要命的操作。

摘要:平时学习中,记载遇到的一些关于python骚操作。当然,如果大家遇到更骚的,欢迎大家在评论区留下,大家互相学习。1.交换字典的键与值。比如说有:{‘name':'sam','sex':'male'}  ----> {'sam':name','male':sex'}dict(zip(dictionary.values(), dictionary.keys()))

2018-01-08 20:16:50 4231

原创 Tensorflow学习-自定义模型

摘要:在tensorflow里面,已经封装了一些常用的网络结构模型,比如CNN,DNN这些,有时候我们需要自己搭一个网络结构或者需要了解每个网络是如何搭建起来的,相信这篇文章会对你有一点点所帮助。已有模型正文:model_fn:我们首先需要写一个函数描述我们的网络,这个也是自己搭建模型最为核心的一步,通常需要做以下的事情1.基本的网络结构(卷

2018-01-08 18:34:06 7950

原创 Tensorflow学习-简单的特征工程

摘要:本文是关于用tensorflow来做一些简单的特征工程。如果机器学习模型是用tensorflow搭的话,用这个来做一些简单的特征工程还是可以接受的。官网文章地址:tensorflow-feature engineering正文:为了更好的说明tensorflow做特征的方法,下面用一个真是的数据说明。Census Income Dataset:https://ar

2018-01-05 14:13:31 7958

原创 CNN学习笔记

摘要:本文用于记载学习CNN过程的一些心得~~欢迎大家轻拍~~~1.在CNN中希望保持卷积后的图像与原始图像的大小相同,需要如何进行填补?假设原图像大小为了N,滤波器尺寸为F,步长为s。当s为1的时候:需要进行zero padding的个数P与原始图像大小无关,只与滤波器的大小F有关。具体表现为:P=(F-1)/2。(这个自己把公式写一下就明白了)当s不为1的时

2018-01-04 19:24:35 793

原创 PyQt5学习入门-5-进阶2-组件学习\API学习

摘要:本文将给大家简单介绍一下Qt中常用的几个控件的使用。其实每个控件的使用方法都差不多。具体如何使用更多的时候是需要查找文档API,所以本文也会在介绍使用控件的时候简单的介绍以下文档API的使用。1.Combo Box(组合框)Combox Box是一个非常常见的控件,看到名字可能陌生,但是看到这个图片你一定见过。下面简单介绍一下组合框的使用。

2018-01-03 12:11:39 1983 1

原创 PyQt5学习入门-5-进阶1

摘要:在前面的学习中,我们都是围绕着一个窗口展开,那么,在这篇文章里面,我们会介绍怎么一次使用多个窗口。比如说,点击某个按键后弹出一个全新的窗口。很常见的就是一个场景就是,点击退出的时候,弹出一个窗口询问 确认是否退出。效果如下:1.窗口一的实现:步骤1:新建一个widget(子窗口)。步骤2:大力的拽进来一个最普通的按键push

2018-01-02 21:12:25 929

原创 PyQt5学习入门-4-文件读写框

摘要:本文主要是介绍如何PYQT5中如何使用文件的读取/保存的框。具体来说,本文实现一个,点击读取按键可以弹出文件选择框,选取相应文件后在文本框中输出文件的内容。另外,也可以文件的保存。效果图:2.实现的功能我们希望能够点击 读取 按键的时候弹出文件选择框,选择文件后输出文件的内容。另外,我们可以在文本输入窗口中输入文本后点击保存,保存到自己指定的文

2018-01-02 19:52:17 6549 1

原创 PyQt5学习入门-3-Qt Designer布局

摘要:这篇文章是关于如何利用Qt Desinger来进行布局的。1.布局的目的我们为什么要进行布局?如果进行了上篇文章的实验的读者,可以尝试把窗口拉大,我们会发现,所有按键的大小都不会有任何的改变。这显然是不美观的,而且不符合预期的效果。我们希望按键大小能够随着窗口的大小变化而变化,这就需要进行布局。2.布局的类型Qt Desinger中有4种布局的方式。第一种:垂直布局

2018-01-02 17:15:55 10422

原创 PyQt5学习入门-2-信号/槽学习

摘要:PyQt5学习入门-1简单对整个流程进行介绍。下面的这篇文章会做一个简单的计算器框架。最终实现的界面效果如下1.本章的目的写这篇文章需要能够让读者学习到以下几点:1.如何使用Text Browser(可以理解为文本的输出框)2.如何使用按键(pushButton),以及如何通过鼠标来触发任务3.如何进行布局2.拖拽组件打开Qt designer后,我们首先新建一个widget。新建一个wid

2018-01-02 15:49:18 1787

原创 PYQT5学习入门-1

摘要:由于网上关于PYQt5和QT designer的相关资料比较少,而我由于实验室的相关项目接触到了PyQt5,也算是从0开始学习。下面就把自己学习过程一些心得做些总结,希望对接触到PyQt5的人有所帮助。前言:我所使用的开发环境时Ubuntu16.04(Windows当然也没问题~)使用的是Anaconda3,建议不要用python2。具体安装PyQt5和Qt designer的安装请大家自行

2018-01-02 14:13:17 1610 1

原创 linux操作日志

1.安装deb安装包:在安装deb安装包时,如果直接:sudo dpkg -i xxxx.deb如果xxxx安装存在依赖关系的话会报错。比如dpkg: 处理软件包 xxxx(--install)时出错: 依赖关系问题 - 仍未被配置这个时候只要在终端中输入sudo apt-get install -f修复依赖关系就可以安装啦。

2017-12-09 16:25:36 1407

原创 AUC的计算方法

摘要:在机器学习的分类任务中,我们常用许多的指标,诸如召回率(Recall)、准确率(Precision)、F1值、AUC等。那么,如果如果手动计算AUC应该要怎么计算呢?相信大家很多时候都是用写好的库直接计算,可能对AUC计算不太了解,下面这篇文章就简单的概述一下AUC的计算方法。(注:本文的重点其实不在于阐述什么是AUC。因为网上关于这方面的文章实在太多了。但是对于AUC的计算的文

2017-11-29 17:44:49 123618 24

原创 N-Gram模型入门

摘要:本文主要是简单讲解一下语言模型N-Gram。网上已经有许多关于N-Gram模型讲解了,下面几个链接是我在阅读过程中认为比较好的文章。和大家分享一下。N-Gram文章-1N-Gram文章-21.N-Gram模型

2017-11-02 14:46:43 3741

原创 python 编码 中文汉字显示问题小结

摘要:很多场景下,我都需要和中文汉字打交道,但是总有一些乱码的问题困扰我们,这篇文章简单介绍几种情况以及对应的处理方法。1.场景1我们上头上有一份数据。在notepad上打开是长这个样子的。每一列是以Tab ('\t')做分割的。现在,我们尝试把这个文件用python自带的open打开。for x in open("file"): prin

2017-11-02 10:35:40 4425

原创 天池-智慧交通预测大赛-亚军-分享

写在前面首先简单介绍一下,,陆陆续续也参加了许多数据挖掘的比赛我是一个数据挖掘方面的新人,刚入门的时候也是充满了各种疑惑。

2017-10-13 11:16:13 5067 13

原创 机器学习中的多分类任务入门

摘要:这篇文章主要是关于机器学习中多分类任务的一些基本知识。1.我先抛出一个问题,在LR(逻辑回归)中,如何进行多分类?一般下,我们所认识的lr模型是一个二分类的模型,但是,能否用lr进行多分类任务呢?答案当然是可以的。不过,我们需要注意的是,我们有许多种思路利用lr来进行多分类。2.训练多个二分类器的思想既然天然的lr是用来做二分类

2017-09-01 18:20:19 23176 3

原创 pandas apply函数的入门

摘要在使用pandas是,我们经常会用到groupby。我们groupby的目的其实就是对不同的分组进行单独的处理。pandas 已经为我们写好了一些groupby后常用的操作的。但是有很多情况下,我们在pandas库中找不到对应的实现方法。这个时候就可以用apply来高效的实现。下面会通过几个例子说明。1.简单入门————分组求和假设我们有数据集df如下

2017-08-12 11:39:05 2486 1

原创 python-pandas 时间日期的处理(下篇)

摘要在上一篇文章,时间日期处理的入门里面,我们简单介绍了一下载pandas里对时间日期的简单操作。下面将补充一些常用方法。时间日期的比较假设我们有数据集df如下在对时间日期进行比较之前,要先转一下格式。转格式的时候用import pandas as pdpd.to_datetime()我们需要先对df中的date这一列转为时间

2017-08-12 11:06:51 48038 1

原创 pandas-matplotlib 画图初级教程。

摘要本文主要是关于在pandas中如何画图(柱状图、曲线图等等)的一个简单教程。pandas 中画图其实也是利用了matplotlib库。所以会matplotlib库的下面的内容可以不用看了。1.如何画柱状图?1.1情景一假如我们有一个数据集data,我们想统计data中某一列(feature)中每个值出现的次数,并给出柱状图分布。我们可以这样做:需要用

2017-07-27 15:47:33 5805

Wide &Deep learning for Recommender Systems

wide&deep 广度深度模型 协同过滤

2017-07-24

A Hybrid Collaborative Filtering Model with Deep Structure

本ppt是关于论文A Hybrid Collaborative Filtering Model with Deep Structure,和协同过滤,自编码器的介绍。

2017-07-21

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除