机器学习
文章平均质量分 87
机器学习学习总结
kingsam_
这个作者很懒,什么都没留下…
展开
-
MLE和MAP的小结
摘要本文是关于MLE(最大似然估计)与MAP(最大后验概率)的一些自己学习的心得. (本文的重点在于对比MLE和MAP)正文1.MLE(最大似然估计)MLE简单的理解可以这样:假设我们手上有一批数据(样本),而且我们假设这些数据(样本)服从某个分布( 模型已知),但是参数未知.这个时候,我们希望对这个参数进行估计,而MLE的思想就是找到一个参数值,使得每条样本出现的概率最...原创 2018-04-09 20:54:52 · 7180 阅读 · 4 评论 -
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 · 1474 阅读 · 1 评论 -
算一算-Word2Vec
摘要在前面的文章里面已经非常粗略的介绍过Word2Vec的原理,因为网上关于W2V的学习材料已经足够多了,写的也非常的好。但是大部分的文章也是只是介绍了整个W2V的原理,对于里面一些计算的细节,似乎并没有文章分析,另一方面,可能对于部分人来说,读完了原理之后非常想有一个真真切切的例子把整个Word2Vec的流程算一遍,所以,本文参照前面对GBDT,XGBOOST的文章,把整个W2V的计算过程演...原创 2018-06-24 23:57:20 · 1690 阅读 · 2 评论 -
算一算-Word2Vec(2)
摘要:上一篇文章里,我们详细的介绍了Word2Vec下SkipGram的层级SoftMax的计算流程,在这篇文章里,我们将介SkipGram下的Negative Sampling的计算流程。训练参数和上篇文章一样,我们使用同样的参数以及训练语料,具体如下: 训练语料如下: SkipGram & Negative Samping 训练过程预备工作:和层...原创 2018-07-02 00:25:25 · 1256 阅读 · 0 评论 -
朴素贝叶斯入门
摘要:本文主要是介绍一下用机器学习库sklearn如何对数据集进行留出法抽样。sklearn里面对留出法抽样有许多的方法,这里只介绍其中的一种比较常用的,其特点就是会保持正负样本比例接近1:1。首先看看这个类的定义:class sklearn.model_selection.StratifiedShuffleSplit(n_splits=10, test_size=0.1,原创 2017-04-24 21:41:11 · 1509 阅读 · 1 评论 -
逻辑回归中的一些小问题
MARK一些逻辑回归中的问题。在LR中,特征维数>样本数量,会怎么样?参考:https://www.zhihu.com/question/31554489在LR中,线性可分和线性不可分,对收敛又有怎么样的影响?参考:https://www.zhihu.com/question/29163846/answer/43849528?utm_source=weibo原创 2017-06-07 21:13:39 · 606 阅读 · 0 评论 -
常见的优化方法总结(GD,SGD,SAG,SVRG,BFGS)
机器学习中常用的优化方法.................MARK.....................持续更新梯度下降法:1.随机梯度下降法(每次只选取一个样本来代替当前的梯度值)2.批量梯度下降法(每次选取m个样本来代替当前梯度值)3.梯度下降法(选取所有样本值来计算梯度值)总结:利用梯度下降法进行优化时,梯度值的计算是和样本有关的,因此,原始的梯度下降法需要计原创 2017-06-07 22:29:38 · 12400 阅读 · 7 评论 -
SVM入门级别简单总结
假设2维平面有点分布如图:想找一条直线把这些点分开。也就是说满足两个条件(假设两个点的标签分别为1 和 -1)当y=1时,有当y=-1时,有。在平面上就是这样两条直线现在,希望这个直线能够很好的把两类点分开,那就是希望两条直线的间隔尽可能的大。也就是这个问题等价于至此,这就是硬间隔的SVM的基本型(所谓硬间隔其实就是不允许有分类错误,即后面提原创 2017-06-08 22:36:44 · 1601 阅读 · 0 评论 -
推荐系统-协同过滤简单介绍
推荐系统中,常用的个性化推荐算法有下图这些分类。其中,基于内容的推荐和协同过滤的推荐是我们本次重点介绍的对象。1.基于内容的推荐首先,我们看看基于内容的推荐(Content-based Recommendation)。基于内容的推荐一般是 根据用户的画像信息(例如年龄、性别、居住地等等)或者item的内容信息(具体来说,例如对于item是电影时,一般是可以基于电影的类型原创 2017-07-21 18:34:40 · 6494 阅读 · 0 评论 -
自编码器(autoencoder)在协同过滤中的应用
摘要本文简单介绍一下论文中的一些idea。具体详细的论文分析可以参考我上传在CSND的PPT讲解。1.自编码器(autoencoder)网上有许多关于自编码器的文章,以下这篇来自知乎的文章我感觉作为自编码器的入门是一个很好的帮助。https://www.zhihu.com/question/41490383。2.在协同过滤中利用自编码器在之前的文章中原创 2017-07-26 09:49:44 · 4802 阅读 · 0 评论 -
机器学习中的多分类任务入门
摘要:这篇文章主要是关于机器学习中多分类任务的一些基本知识。1.我先抛出一个问题,在LR(逻辑回归)中,如何进行多分类?一般下,我们所认识的lr模型是一个二分类的模型,但是,能否用lr进行多分类任务呢?答案当然是可以的。不过,我们需要注意的是,我们有许多种思路利用lr来进行多分类。2.训练多个二分类器的思想既然天然的lr是用来做二分类原创 2017-09-01 18:20:19 · 23346 阅读 · 3 评论 -
N-Gram模型入门
摘要:本文主要是简单讲解一下语言模型N-Gram。网上已经有许多关于N-Gram模型讲解了,下面几个链接是我在阅读过程中认为比较好的文章。和大家分享一下。N-Gram文章-1N-Gram文章-21.N-Gram模型原创 2017-11-02 14:46:43 · 3802 阅读 · 0 评论 -
word2vector入门教程
摘要:网上已经有许多对w2v的介绍了,这里只是做一个简单的概括。下面这篇文章我认为是关于W2V写的比较好的文章,读者有兴趣可以先参考一下:w2v参考文章1另外一篇是关于Skip-Gram和CBow的介绍。Skip-Gram&CBOW逻辑比较清晰的综述文章:综述文章数学原理很清晰很短的一篇文章(也有关于负采样的简单说明)参考文章1.什么原创 2018-01-13 21:50:34 · 15174 阅读 · 2 评论 -
AUC的计算方法
摘要:在机器学习的分类任务中,我们常用许多的指标,诸如召回率(Recall)、准确率(Precision)、F1值、AUC等。那么,如果如果手动计算AUC应该要怎么计算呢?相信大家很多时候都是用写好的库直接计算,可能对AUC计算不太了解,下面这篇文章就简单的概述一下AUC的计算方法。(注:本文的重点其实不在于阐述什么是AUC。因为网上关于这方面的文章实在太多了。但是对于AUC的计算的文原创 2017-11-29 17:44:49 · 126691 阅读 · 24 评论 -
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 · 932 阅读 · 0 评论 -
BP算法心得体会
摘要:关于BP算法(误差反向传播)网上的学习、参考资料已经有很多了。每篇文章都差不多,都是在阐述BP的数学原理或者实践。本篇文章其实也和网上大部分文章一样,但从一个初学者的角度来分享学习这个算法的过程的一些体会。参考资料: 知乎-BP算法 清晰的数学推导预先定义: 网上许多资料都是以单层的神经网络为例推导BP算法,本文用一个两个隐藏层的神经网络为例推导BP算法。(其实结果原创 2018-01-15 12:12:13 · 3854 阅读 · 0 评论 -
RNN训练与BP算法
摘要: 本文主要讲述的RNN(循环神经网络)在训练过程中BP算法的推导。 在阅读本文之前希望读者看过我的另一篇文章BP算法心得体会。因为大部分的思路沿用的就是这篇文章的思路。 参考文章: 数学推导-1 数学推导-2 更新-2018-01-23: 之前写完这篇文章之后,回头看了一遍文章,发现在整个推导的过程都无视了时间维度的存在,所以后来查阅了相关的资料,发现目前网上有一部分R原创 2018-01-16 22:18:34 · 6788 阅读 · 2 评论 -
BP算法推导-softmax层+交叉熵(logloss)
摘要: 在之前的两篇文章中RNN训练与BP算法,BP算法心得体会都是在具体在讲bp算法在神经网络里面的推导。两篇文章都没有讲过和softmax相关的东西。而softmax作为分类任务里面重要的一层,所以打算本篇文章介绍一下softmax层。另外,一致沿用的损失函数都是均方误差,所以借这个机会也讲解下当损失函数是交叉熵时候的推导情况。引言: 本文打算在RNN训练与BP算法文章的基原创 2018-01-17 17:00:14 · 5633 阅读 · 0 评论 -
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 · 809 阅读 · 0 评论 -
RNN-bptt简单推导
摘要: 在前面的文章里面,RNN训练与BP算法,我们提到了RNN的训练算法。但是回头看的时候在时间的维度上没有做处理,所以整个推导可能存在一点问题。 那么,在这篇文章里面,我们将介绍bptt(Back Propagation Through Time)算法如在训练RNN。关于bptt 这里首先解释一下所谓的bptt,bptt的思路其实很简单,就是把整个RNN按时间的维度展原创 2018-01-22 17:00:30 · 3251 阅读 · 1 评论 -
RNN-LSTM-GRU学习笔记
摘要:本文用于总结整个RNN的学习过程以及学习资料。RNN1.下文是rnn利用Bptt的训练的推导过程。 RNN与bptt推导过程 2.rnn一些基本概念以及问题分析 参考文章-1 RNN中为什么要采用tanh而不是ReLu作为激活函数?常见问题:1.RNN是什么? RNN是循环神经网络的简称。常用来对时间序列建模,具体来说就是一个序列当前的输出和前面的输出也原创 2018-01-23 12:15:39 · 1253 阅读 · 0 评论 -
GBDT原理与Sklearn源码分析-回归篇
摘要:本文将非常详细的介绍GBDT(Gradient Boosting Decision Tree)的原理以及Sklearn里面具体是如何实现一个GBDT的。本次内容将分为两篇文章,一篇是GBDT用于回归,一篇是GBDT用于分类任务。虽然两者其实本质是一样的,只是loss function不同,但是分成两篇可以帮助更好的对比理解。注意:本文前半部分是GBDT原理的一个概述,后半步是skle...原创 2018-01-28 13:28:40 · 32728 阅读 · 47 评论 -
GBDT原理与Sklearn源码分析-分类篇
摘要:继上一篇文章,介绍完回归任务下的GBDT后,这篇文章将介绍在分类任务下的GBDT,大家将可以看到,对于回归和分类,其实GBDT过程简直就是一模一样的。如果说最大的不同的话,那就是在于由于loss function不同而引起的初始化不同、叶子节点取值不同。正文:GB的一些基本原理都已经在上文中介绍了,下面直接进入正题。 下面是分类任务的GBDT算法过程,其中选用的loss f...原创 2018-01-29 14:06:42 · 29596 阅读 · 52 评论 -
GBDT原理与实践-多分类篇
摘要:GBDT-分类 GBDT-回归 前面两篇文章已经详细介绍了在回归和分类下的GBDT算法。这一篇文章将最后介绍一个多分类任务的GBDT。其过程和二分类的GBDT类似,但是有一个地方有很大的不同,下文将详细的介绍。正文:下图是Friedman在论文中对GBDT多分类给出的伪代码: 从代码上看,大致和分类时候的过程一样。最大的不同点在于多了一层内部的循环For。这...原创 2018-01-29 22:08:16 · 29994 阅读 · 69 评论 -
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 · 844 阅读 · 0 评论 -
SVD与PCA的问题
摘要:继上一篇文章对PCA分析后,这篇文章将介绍一个每提及PCA时,都会提到的名字SVD。SVD是什么?SVD,奇异值分解。是属于矩阵分解里面的一种方法。 在谈论SVD之前,其实有必要回忆另外的一种很常用的矩阵分解。 可以看到,对于任意的n×n的对称矩阵A,都存在A=VDVTA=VDVTA=VDV^T。 那么假如矩阵A不是方针那么是否存在类似的分解呢?没错,这个就是SVD...原创 2018-03-06 21:03:18 · 2162 阅读 · 2 评论 -
xgboost原理分析以及实践
摘要本文在写完GBDT的三篇文章后本来就想写的,但一直没有时间,终于刚好碰上需要,有空来写这篇关于xgboost原理以及一些实践的东西(这里实践不是指给出代码然后跑结果,而是我们来手动算一算整个xgboost流程)由于网上已经许多优秀的文章对xgboost原理进行了详细的介绍,特别是xgboost作者陈天奇的论文以及slide已经非常完整阐述了整个xgboost的来龙去脉,现有的文章基本也...原创 2018-03-10 00:44:28 · 25586 阅读 · 55 评论 -
AdaBoost简单总结
摘要:继前面的gbdt,xgboost,这里是关于另外一个很有名的boosting算法,Adaboost,Ada是Adaptive的缩写(此外,有一种优化算法adagrad,自适应梯度下降也是用的adaptive缩写)。 同时由于网上对Adaboost的介绍的资料也很充足。在李航《统计学习方法》上面也有一个实际演算的例子。周志华《西瓜书》也对adaboost作了比较清晰的分析,所这里只是简单...原创 2018-03-13 14:38:06 · 1821 阅读 · 0 评论 -
优化算法-总结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 · 1009 阅读 · 0 评论