机器学习
文章平均质量分 91
Flying_sfeng
这个作者很懒,什么都没留下…
展开
-
文本生成系列(三)beam search的一些改进
引言我们知道,在文本生成领域,所用到的解码方法有两种:greedy search和beam search。greedy search相当于在每一步的生成过程中,都选择概率最大的token作为候选token,而beam search则是每一步都选择topk个token作为候选token,然后使用这k个token对应的句子进行下一个词的预测,总共有k*V个结果,再取topk个token,以此迭代直到出现结束符。beam search相当于在greedy search的基础上进行了优化,扩大了搜索空间,但原创 2021-05-10 20:58:51 · 1737 阅读 · 0 评论 -
Batch Normalization与Layer Normalization
batch normalization和layer normalization,顾名思义其实也就是对数据做归一化处理——也就是对数据以某个维度做0均值1方差的处理。 所不同的是,BN是在batch size维度针对数据的各个特征进行归一化处理;LN是针对单个样本在特征维度进行归一化处理。在机器学习和深度学习中,有一个共识:独立同分布的数据可以简化模型的训练以及提升模型的预测能力——这是通过训练数据获得的模型能够在测试集获得好的效果的一个基本保障。BN算法公式的后面还有一个反向操作, 将 normal原创 2021-05-08 20:00:06 · 1190 阅读 · 0 评论 -
高考填志愿—利用大数据填报
距高考放榜的日子越来越近了,填报志愿的问题着实让很多父母和孩子头疼。可能大家也会遇到下述类似的情况,我大概讲述下:微微姐,见信佳。我是小欣,转眼间我已经高三毕业了,我对未来充满了期待,可现在我却在填志愿的问题上,跟我妈意见不一样,有些心烦。我来自某一线城市,两年前父母离了婚,我跟着妈妈生活。我妈是个要强的女人,那会为了我们娘俩的生活,开始在农贸市场做蔬菜批发。市场竞争激烈,我妈刚开始入行那会,搞到的摊位又偏,是真的辛苦。但她人机灵,找到了个不错的进货商,蔬菜新鲜,价格又还较便宜。再加上她嘴甜肯吆喝,这两原创 2020-07-23 09:32:28 · 1452 阅读 · 0 评论 -
FFM模型在点击率预估中的应用实践
这篇文章,将主要讲述FFM模型在CTR预估中的应用。原创 2017-12-07 11:53:23 · 7654 阅读 · 10 评论 -
支持向量机(SVM)原理分析
版权说明:码字不易,转载请注明出处:http://blog.csdn.net/flying_sfeng/article/details/79055411 支持向量机(SVM)是一种二分类模型。它的基本模型是定义在特征空间上的间隔最大的线性分类器。支持向量机学习的基本思想是求解能够正确划分训练数据集并且几何间隔最大的分离超平面。 对于下图线性可分的情况,SVM就是为了找到一个最优的超平面,将正负原创 2018-01-21 16:24:08 · 2570 阅读 · 0 评论 -
word2vec原理剖析
本文根据word2vec 中的数学原理详解整理而成。 根据word2vec算法的原理,大概总结如下; 1) 由统计语言模型发展到n-gram模型,再由n-gram模型发展到NNLM模型,最后到word2vec模型; 2) word2vec模型包括CBOW模型和Skip-gram模型; 3) 对于CBOW模型和Skip-gram模型,又分别有基于Hierarchical S...原创 2018-06-28 16:13:11 · 1164 阅读 · 0 评论 -
神经网络多分类中为什么用softmax函数归一化而不用其它归一化方法
直观的解释是为了平衡概率分布,同时避免出现概率为0的情况(使得模型可以不用再做平滑化处理)。 从反向传播的角度推导一波: softmax函数的形式为: P(y=i)=eWiX∑Nj=1eWjXP(y=i)=eWiX∑j=1NeWjXP(y=i)={e^{W_iX}\over \sum_{j=1}^Ne^{W_jX}} 目标函数为: L=−∑ktklogP(y=k) ...原创 2018-07-05 14:55:24 · 8321 阅读 · 2 评论 -
Hessian矩阵及局部极小点的条件
一 Hessian矩阵: 实值函数f(x)相对于n×1n×1n\times 1实向量x的二阶偏导是一个由m2m2m^2个二阶偏导组成的矩阵(称为Hessian矩阵),定义为: ∂2f(x)∂x∂xT=∂∂xT[∂f(x)∂x]∂2f(x)∂x∂xT=∂∂xT[∂f(x)∂x]{\partial ^2f(x)\over \partial x \partial x^T}={\partial \ov...原创 2018-07-25 11:02:22 · 11541 阅读 · 0 评论 -
EM算法原理分析
EM算法主要用于含有隐藏变量的参数估计问题。 在将EM算法之前,先讲一下Jensen不等式。 定理:假设f是一个凸函数,X是随机变量,即: E[f(X)]≥f(EX)E[f(X)]≥f(EX)E[f(X)]\ge f(EX) 此外,如果f是严格凸的,当且仅当X=E[X]=常数(不再是随机变量)时E[f(X)]=f(EX)X=E[X]=常数(不再是随机变量)时E[f(X)]=f(EX)X=E...原创 2018-07-26 12:35:30 · 1613 阅读 · 0 评论 -
普硕的秋招算法岗之路(2019届)
现在是2019.3.3,金三银四,刚好是春招黄金时刻,我把18年秋招的经历以流水账的形式写下来,反馈给我的粉丝吧(虽然也没多少粉丝),希望对各位准备找工作找实习的同学有所帮助。这篇面经主要针对算法岗,欢迎大家关注我的博客,有算法相关的问题都可以与我交流。首先,交代下背景,本人四非(非985非双一流)一本普通硕士(渣硕这个词太敏感就不说了哈哈),没论文,有比赛但不是top 3,有实习经历。先说下秋...原创 2019-03-03 14:44:23 · 1377 阅读 · 6 评论 -
使用tensorflow的lstm网络进行时间序列预测
这篇文章将讲解如何使用lstm进行时间序列方面的预测,重点讲lstm的应用,原理部分可参考以下两篇文章:Understanding LSTM Networks LSTM学习笔记编程环境:python3.5,tensorflow 1.0本文所用的数据集来自于kesci平台,由云脑机器学习实战训练营提供:真实业界数据的时间序列预测挑战数据集采用来自业界多组相关时间序列(约4原创 2017-12-20 14:25:28 · 62503 阅读 · 86 评论 -
逻辑回归原理及推导过程
逻辑回归处理的是分类问题,具体来说,是处理二分类问题。为了实现逻辑回归分类器,我们可以在线性回归的基础上(即每个特征乘以一个回归系数后相加),添加一个sigmoid函数,进而得到一个范围在0-1之间的数值。任何大于0.5的数据会被分入1类,小于0.5即被分入0类。至于为什么要用sigmoid函数,简单来说,是为了将标签归到[0,1]的范围内;原创 2017-09-16 12:03:58 · 6521 阅读 · 4 评论 -
树模型之回归树,模型树,树剪枝
在前面决策树的介绍中,我们使用ID3算法来构建决策树;这里我们使用CART算法来构建回归树和模型树。ID3算法是每次选取当前最佳的特征来分割数据,并按照该特征的所有可能取值来区分。比如,如果一个特征有4种取值,那么数据将被切分成4份。很明显,该算法不适用于标签值为连续型的数据。CART算法使用二元切分法来处理连续型变量,即每次把数据集切分成左右两份。回归树回归树使用CART算法来构原创 2017-03-24 21:28:22 · 10877 阅读 · 1 评论 -
Logistic回归和Sigmoid函数分类中的最大似然估计
在讲Logistic回归前,先具体说明一下什么是最大似然估计,可以参考最大似然估计学习总结------MadTurtle梯度上升算法的代码如下:def sigmoid(inX): return 1.0/(1+exp(-inX))def gradAscent(dataMatIn, classLabels): dataMatrix = mat(dataMatIn)原创 2017-03-26 22:47:10 · 3777 阅读 · 3 评论 -
将TXT文件数据存进Python内置数据库splite3
当TXT文件太大,计算机内存不够时,我们可以选择按行读取TXT文件,并将其存储进Python内置轻量级splite数据库,这样可以加快数据的读取速度,当我们需要重复读取数据时,这样的速度加快所带来的时间节省是非常可观的,比如,当我们在训练数据时,要迭代10万次,即要从文件中读取10万次,即使每次只加快0.1秒,那么也能节省几个小时的时间了。#创建数据库并把txt文件的数据存进数据库impor原创 2017-04-26 08:16:46 · 3636 阅读 · 0 评论 -
决策树原理及Python代码实现
决策树其实就是按节点分类数据集的一种方法。在本文中,我将讨论数学上如何使用信息论划分数据集,并编写代码构建决策树。创建决策树进行分类的流程如下:(1)创建数据集(2)计算数据集的信息熵(3)遍历所有特征,选择信息熵最小的特征,即为最好的分类特征(4)根据上一步得到的分类特征分割数据集,并将该特征从列表中移除(5)执行递归函数,返回第三原创 2020-04-04 22:06:30 · 32491 阅读 · 37 评论 -
window下安装xgboost
这几天看了陈天奇大神关于xgboost的论文:XGBoost: A Scalable Tree Boosting System 膜拜大神。先立个flag,有空的时候再专门写一篇关于这篇论文的博客。现在,先看一下怎么在window环境下安装xgboost。在网上看到了很多相关的安装教程,五花八门。但其实xgboost的安装很简单(使用whl安装)。安装环境:window7,anaconda原创 2017-05-12 16:10:06 · 2229 阅读 · 0 评论 -
随机森林的原理分析及Python代码实现
在讲随机森林前,我先讲一下什么是集成学习。集成学习通过构建并结合多个分类器来完成学习任务。集成学习通过将多个学习器进行结合,常可获得比单一学习器更好的泛化性能。考虑一个简单例子:在二分类任务中,假定三个分类器在三个测试样本上的表现如下图,其中√表示分类正确,×表示分类错误,集成学习的结果通过投票法产生,即“少数服从多数”。如下图,在(a)中,每个分类器都只有66.6%的精度,但集成学习却达到了原创 2017-03-20 20:35:41 · 78928 阅读 · 134 评论 -
线性回归及其概率解释
线性回归的几种优化参数方法:批量梯度下降法,随机梯度下降法,矩阵求导等;以及线性回归中最小化平方损失函数的概率解释,局部加权线性回归方法。原创 2017-09-15 17:16:22 · 3733 阅读 · 0 评论 -
广义线性模型与指数分布族
在机器学习领域,很多模型都是属于广义线性模型(Generalized Linear Model,GLM),如线性回归,逻辑回归,Softmax回归等。这篇文章广义线性模型,并由它推导出线性回归,逻辑回归,Softmax回归的表达式。 广义线性模型是基于指数分布族的,所以我们先来看一下指数分布族的一般形式: p(y;η)=b(y)exp(ηTT(y)−a(η))p(y;\eta)=b(y)exp(原创 2017-09-17 11:25:25 · 8415 阅读 · 0 评论 -
数据挖掘入门指南:以kaggle:titanic为例
一般的数据挖掘竞赛或者项目包括以下步骤:(1)数据预处理和特征工程(2)构造模型(3)模型融合这篇博客将以kaggle上的titanic题目作为例子,具体讲一讲各个步骤的操作过程。数据集可自行到 kaggle:titanic 下 载。PS:对于titanic这道题,个人觉得重点不是在于把成绩提高到多少,因为样本实在太少了,所以我们应该把关注点放在学习如何分析数据,以及构建模原创 2017-08-30 21:54:34 · 2887 阅读 · 8 评论 -
PCA与奇异值分解用于人脸检测
基于PCA+SVM的人脸识别算法流程:(1)输入训练数据,数据预处理;(2)进行PCA降维;(3)进行多分类的SVM训练(人脸识别为多分类问题,可分为多个二分类SVM分类器);(4)输入检测数据并利用上一步的训练结果进行分类;(5)计算准确率并显示结果。网上关于PCA用于人脸识别的文章有很多,大家可以参考这篇文章 Matlab PCA+SVM人脸识别(一),我的代码部分是参原创 2016-12-17 13:51:27 · 3209 阅读 · 0 评论