神经网络
zealscott
https://tech.zealscott.com
展开
-
梯度下降原理及理解
梯度下降是神经网络中最常用的求极值点(鞍点)的方法,本文以BP神经网络为例,介绍梯度下降的数学原理及推广。 代价函数为了量化我们神经网络的拟合效果,我们定义一个代价函数:C(w,b)=12n∑x||y(x)−a||2C(w,b)=12n∑x||y(x)−a||2C(w,b) = \frac {1}{2n}\sum\limits_{x}||y(x)-a||^2我们训练算法的...原创 2018-04-01 19:46:14 · 9668 阅读 · 0 评论 -
前馈神经网络原理与实现
本文适用于已经对感知机、神经网络有初步了解,但上手比较困难,愿意推导公式,更深入了解神经网络的朋友。 引言前馈神经网络是所有神经网络中最简单,也是最有效的一种。从单个神经元的角度看,不过就是设计权值与偏置的简单感知机运算。但到底网络是如何实现的?特别是back propagation的原理?我相信刚刚入门的很多朋友与我一样有很多疑惑,但又不想总是调包,那么我们就慢慢推导公式吧。需...原创 2018-04-01 19:48:09 · 5006 阅读 · 0 评论 -
交叉熵与softmax
介绍改进神经网络的基本方法:交叉熵代价函数与softmax。二次代价函数之前我们一直使用二次代价函数,貌似在一定程度上也挺work。但其实,当输入值与目标值差距很大时,二次代价函数就不是很恰当了;这是因为当差距很大时,此函数的学习速率会很慢。我们可以通过一个简单的例子观察这种变化:假设我们只使用一个神经元与一个输出神经元,定义代价函数为:C=(y−a)22C=(y−a)...原创 2018-05-13 22:19:44 · 6001 阅读 · 4 评论 -
防止神经元饱和的若干方法
介绍一些技巧,防止神经元饱和导致学习缓慢。更好的代价函数和激活函数前面已经介绍,我们使用corss entropy function+sigmoid function 或者softmax active fuction + log-likehood能够较好的避免学习缓慢的问题,具体请参考这里。但请注意,这里我们只针对输出神经元在错误的值上饱和导致的学习下降,而对隐藏层的神经元毫无...原创 2018-05-16 21:24:30 · 2539 阅读 · 1 评论 -
防止过拟合的基本方法
过拟合是训练神经网络中常见的问题,本文讨论了产生过拟合的原因,如何发现过拟合,以及简单的解决方法。发现过拟合问题在训练神经网络时,我们常常有训练集、测试集和验证集三种数据集。有时候我们会发现,训练出来的神经网络在训练集上表现很好(准确率很高),但在测试集上的准确率比较差。这种现象一般被认为是过拟合,也就是过度学习了训练集上的特征,导致泛化能力较差。hold out 方法...原创 2018-05-16 21:25:06 · 25592 阅读 · 1 评论 -
基于IMDb数据集的情感分析(Doc2Vec模型与神经网络实现)
使用Doc2Vec模型参加Kaggle的NLP比赛,最终score达到0.97,前2%。本文所有的代码都可以在我的github上找到。在上一篇博文中,我们使用了TF-IDF,准确率达到了0.95,已经进入前100,但还不够,我们试试使用更加高大上的Doc2Vec结合神经网络模型,其准确率能否再次提升。数据介绍本数据来源于IMDB电影评论集,是Kaggle上一个入门的项目。...原创 2018-06-27 15:47:21 · 6902 阅读 · 5 评论 -
基于IMDb数据集的情感分析(TF-IDF与机器学习实现)
使用TF-IDF模型,结合机器学习进行情感分类,能取得较好的准确率。本文的JupyterNotebook可参考这里。本文介绍NLP的通用方法TF-IDF的使用,并且分类准确率能达到0.95,进入kaggle排行榜的前100。TF-IDFTF-IDF(词频-逆文档频率)算法是一种统计方法,用以评估一字词对于一个文件集或一个语料库中的其中一份文件的重要程度。TFIDF的主要...原创 2018-06-27 15:47:58 · 5013 阅读 · 4 评论