机器学习
文章平均质量分 67
链巨人
这个作者很懒,什么都没留下…
展开
-
加快Tensorflow和Keras图像数据集的训练速度
这几天在训练一个CNN网络,使用到了两百多万个图片,虽然使用到了GPU NVIDIA GeForce GTX 1080Ti,但是还是很慢。故查阅了一些训练提速的文章,跟大家分享。Tensorflow vs. Keras or how to speed up your training for image data sets by factor 10If you ever trained a...转载 2019-12-17 11:38:51 · 2051 阅读 · 0 评论 -
理解决策树信息增益(information gain)
问题引出:信息增量是什么?干什么用?一颗决策树中的非叶子节点有split函数,用于将当前所输入的数据分到左子树或者右子树。我们希望每一个节点的split函数的性能最大化。这里的性能是指把两种不同的数据分开的能力,不涉及到算法的时间复杂度。但是,怎么去衡量一个split函数的性能呢?这里我们使用信息增益来衡量III。如果III越大,说明该节点的split函数将输入数据分成两份的性能越好。下面图片...原创 2019-11-22 21:01:27 · 10525 阅读 · 1 评论 -
RNN和LSTM的正向/前向传播-图示公式和代码
本文先讲的基础版本的RNN,包含内部结构示意图,公式以及每一步的python代码实现。然后,拓展到LSTM的前向传播网络。结合图片+公式+可运行的代码,清晰充分明白RNN的前向传播网络的具体过程。完整的可执行的代码见文末。下面图片是RNN网络的整体示意图。每一个方框是“同一个节点处的不同时间点的表示“。也就是RNN-cell都是同一个,只是时间点不一样,所以展开画出来。所以,它们共用相同的”可训...原创 2019-04-25 22:13:59 · 2470 阅读 · 0 评论 -
论文整理集合 -- 吴恩达老师深度学习课程
吴恩达老师深度学习课程中所提到的论文整理集合!这些论文是深度学习的基本知识,阅读这些论文将更深入理解深度学习。这些论文基本都可以免费下载到,如果无法免费下载,请留言!可以到coursera中看该视频课程。下面的论文主要分为3部分: 1. 优化神经网络的各种方法 2. 卷积神经网络,包含各种model和物体检测的论文 3. RNN类型的神经网络A collection of...原创 2018-02-24 13:18:45 · 4151 阅读 · 7 评论 -
Emojify - v2 吴恩达老师深度学习第五课第二周编程作业2
吴恩达老师深度学习第五课第二周编程作业2,包含答案!Emojify!Welcome to the second assignment of Week 2. You are going to use word vector representations to build an Emojifier. Have you ever wanted to make your text messa...原创 2018-02-20 20:04:22 · 4880 阅读 · 1 评论 -
Operations on word vectors-v2 吴恩达老师深度学习课程第五课第二周编程作业1
吴恩达老师深度学习课程第五课(RNN)第二周编程作业1, 包含答案Operations on word vectorsWelcome to your first assignment of this week! Because word embeddings are very computionally expensive to train, most ML practitioners...原创 2018-02-20 15:06:59 · 2678 阅读 · 11 评论 -
吴恩达深度学习第5课第一周作业3 Improvise a Jazz Solo with an LSTM Network - v1
吴恩达深度学习第5课第一周作业3 Improvise a Jazz Solo with an LSTM Network - v1Improvise a Jazz Solo with an LSTM NetworkWelcome to your final programming assignment of this week! In this notebook, you will im...原创 2018-02-08 12:28:57 · 1713 阅读 · 0 评论 -
各领域机器学习数据集汇总
(Stanford)69G大规模无人机(校园)图像数据集【Stanford】http://cvgl.stanford.edu/projects/uav_data/人脸素描数据集【CUHK】http://mmlab.ie.cuhk.edu.hk/archive/facesketch.html自然语言推理(文本蕴含标记)数据集【NYU】https://www.nyu.edu/projects...转载 2019-01-06 13:20:41 · 876 阅读 · 0 评论 -
MIT出品2017-2018深度学习最新进展汇总
本文内容整理自MIT教育视频,讲解的是近两年来深度学习一些方面最现今的进展,类似于综述。本文将列举出内容的纲要,视频连接资源和PPT资源下载链接。视频的纲要Deep Learning: State of the Art*(Breakthrough Developments in 2017 & 2018)• BERT and Natural Language Processing...原创 2019-01-20 10:33:57 · 688 阅读 · 1 评论 -
拟合系数 / 决定系数 / R方 / R^2的理解
先附上公式,来自wiki,然后给出个人理解:上面公式中,红圈表示的是拟合系数计算公式,SSresSS_{res}SSres表示真实值与预测值的差的平方之和,也就是预测值与真实值的误差。SStotSS_{tot}SStot表示平方差,我们都知道平方差表示数值的离散程度,越大表示越离散。那么使用SSresSS_{res}SSres/SStotSS_{tot}SStot, 表示SSresSS...原创 2019-03-14 20:51:18 · 69145 阅读 · 2 评论 -
Genetic Algorithm遗传算法,两个代码实现例子
通过了解遗传算法的概念,应用和代码实现,来充分理解和学习遗传算法。什么是遗传算法?可参考这篇文章:link应用:(1)工程设计(2)旅行商问题(3)机器人(4)著名的组合优化问题「背包问题」比如,你准备要去野游 1 个月,但是你只能背一个限重 30 公斤的背包。现在你有不同的必需物品,它们每一个都有自己的「生存点数」(具体在下表中已给出)。因此,你的目标是在有限的背包...原创 2019-06-03 21:46:43 · 1147 阅读 · 0 评论 -
以Attention Model为例谈谈两种研究创新模式
在研读AttentionModel相关文献过程中,我再次深切感受到了科研中的两种创新模式:模型创新与应用创新。若干年前,也就是在我年轻不懂事的花样年华里,具体而言,就是在科学院读博士的后期,这种感受就已经比较明显,所以曾经在2006年写过一篇博客:自然语言处理领域的两种创新观念。当时谈的相对务虚一些,而且由于年富力强,少不经事,更强调重大计算模型的创新,曾经对当时横扫NLP大多数领域的CRF...转载 2019-05-18 15:18:55 · 519 阅读 · 0 评论 -
注意力模型(Attention Model)理解和实现
在我们视野中的物体只有少部分被我们关注到,我们的焦点在某一时刻只聚焦在某些物体上面,而不是视野中的全部物体,这是我们大脑的一个重要功能,能够使得我们有效过滤掉眼睛所获取的大量无用的视觉信息,提高我们的视觉识别能力;神经网络中的注意力模型借鉴了我们人脑的这一功能,让神经网络模型对输入数据的不同部位的关注点不一样,权重不一样。上面的图片出自论文 Xu et.al., 2015. Show atte...原创 2019-05-21 20:50:00 · 18485 阅读 · 6 评论 -
使用GitLab或者Github简单实用地将数据导入Colab的方法
Google Colab为我们提供了免费的GPU和TPU计算资源。对于暂时没有自己的本地GPU显卡资源深度学习科研人员而言真是个福利。这篇博客主要要解决的问题是:如何简单方便实用地将外部训练数据导入到Google Colab中呢?其它博客讲到了使用Google Driver或者从本地电脑来导入数据,这些都是可以的,但是个人觉得比较复杂,而这里的方法我们只需要一行代码即可导入数据,而且很多训...原创 2019-05-25 10:42:01 · 6994 阅读 · 0 评论 -
为什么引入验证集来评估机器学习模型?只用训练集和测试集可以吗?
评估模型的重点是将数据划分为三个集合:训练集、验证集和测试集。在训练数据上训练模型,在验证数据上评估模型。一旦找到了最佳参数,就在测试数据上最后测试一次。你可能会问,为什么不是两个集合:一个训练集和一个测试集?在训练集上训练模型,然后在测试集上评估模型。这样简单得多!原因在于开发模型时总是需要调节模型配置,比如选择层数或每层大小[这叫作模型的超参数(hyperparameter),以便与模型参数...原创 2019-05-24 14:31:49 · 5348 阅读 · 0 评论 -
使用LSTM进行莎士比亚风格诗句生成
本文章跟本人前面两篇文章(文章1, 文章1)的思路大体相同,都是使用序列化的数据集来训练RNN神经网络模型,然后自动生成相关的序列化。这篇文章使用莎士比亚诗词作为训练集,使用keras和tensorflow作为深度学习框架,训练具有自动生成莎士比亚风格诗句的神经网络模型。源码和数据集的下载地址1(需要从头开始训练):https://github.com/liangyihuai/deeplearn...原创 2019-05-02 23:08:09 · 3774 阅读 · 1 评论 -
使用LSTM神经网络进行音乐合成(数据格式,模型构建,完整源码)
本文章将讲解如何借用机器学习框架Tensorflow和Keras,构建LSTM神经网络模型,通过学习音乐数据,来自动合成一段音乐。训练的原始音乐数据为:下载试听合成的音乐例子:下载试听完整代码(包含训练数据集):源码下载。其中主方法在MusicGenerator.py文件中。1. 神经网络结构模型1.2. 模型的输入数据每一次输入的是一个“音符”,这里为了便于理解,把一个音符抽象出...原创 2019-04-28 11:14:02 · 7156 阅读 · 6 评论 -
使用RNN神经网络自动生成名字 (不使用深度学习框架,源码)
本文讲解在不使用深度学习框架的情况下,构建一个基本的RNN神经网络来进行名字自动生成。RNN模型请看下面的两张图片。本文主要讲解数据集以及输入模型的数据格式。数据集和可执行的源码下载地址:https://github.com/liangyihuai/deeplearning_liang/tree/master/src/rnn/dinosaur_name其中main.py文件存放调用训练模型的方...原创 2019-05-01 22:03:02 · 2150 阅读 · 0 评论 -
谷歌大脑2017总结1
谷歌AI Senior Fellow、谷歌大脑负责人Jeff Dean,按照惯例,今天开始发布2017年度的谷歌大脑年度总结。 在这份已经发布的总结中,Jeff Dean回顾了谷歌大脑团队过去一年的核心研究,以及在多个AI领域的研究进展。Jeff Dean还把相关研究的论文等一并附上,堪称良心之作,值得收藏。以下是最新发布的总结全文,浅色文字为量子位注释:作为谷歌整体人工智能计划转载 2018-01-25 15:52:14 · 900 阅读 · 0 评论 -
谷歌大脑2017总结下篇:Jeff Dean梳理6大领域研究
传奇一般的Jeff Dean今天发布了谷歌大脑2017总结的第二弹。上一篇地址在这篇总结中,Jeff Dean详细论述了谷歌大脑过去一年的AI应用研究,例如如何将机器学习等技术应用于医疗、机器人、创意、公平等等多个领域。 这在某种程度上,也代表了2017人工智能具体应用的最高水平研究。 昨天量子位推送了这份总结的上篇,以下是第二弹: 浅色字体为量子位注释内容 在这篇文章中,我们将深入到转载 2018-01-25 15:54:52 · 837 阅读 · 0 评论 -
卷积神经网络资料汇总
初学者一看卷积神经网络,很可能会被它的表面上的复杂度吓到。有时候,并不是所学的知识难,而是作者讲得不够通俗易懂。下面是本人学习卷积神经网络的时候那些通俗易懂的资料的汇总。 一个小建议:学习卷积神经网络之前先看一下什么是全连接神经网络。可以在http://playground.tensorflow.org这里直观感受一下。从直观上感受一下卷积神经网络。2D :http://scs.ryerson.原创 2017-11-10 09:11:13 · 663 阅读 · 1 评论 -
理解神经网络,从简单的例子开始(2)使用python建立多层神经网络
这篇文章将讲解如何使用python建立多层神经网络。在阅读这篇文章之前,建议先阅读上一篇文章:理解神经网络,从简单的例子开始。讲解的是单层的神经网络。如果你已经阅读了上一篇文章,你会发现这篇文章的代码和上一篇基本相同,理解起来也相对容易。上一篇文章使用了9行代码编写一个单层的神经网络。而现在,问题变得更加复杂了。下面是训练输入数据和训练输出数据,如果输入数据是[1,1,0],最后的结果是什么呢?从上原创 2017-10-19 21:04:15 · 6910 阅读 · 0 评论 -
理解神经网络,从简单的例子开始(1)7行python代码构建神经网络
前言本文分为两个部分,第一个部分是一个简单的实例:9行Python代码搭建神经网络,这篇文章原文为:原文链接, 其中中文翻译版来自:中文翻译版。已经转载如下。这个实例算是通俗易懂,只是,它更多的是(本人觉得)对于一个简单的神经网络整个过程的描述,对于初学者而言,阅读之后很可能还不是特别明白其中的原理。要明白其中的原理,需要更深入的思考:为什么能够这个神经网络能够预测结果?而本文就是在这个实例的基础之原创 2017-10-19 14:10:09 · 8665 阅读 · 1 评论 -
两个月入门深度学习,全靠动手实践!一位前端小哥的经验分享
两个月入门深度学习,全靠动手实践!一位前端小哥的经验分享 在当前社会,技术日新月异,一个全栈工程师不及时学习新知识,掌握AI技能,再过两年就算不上“全栈”了。产品发烧友、前端小哥Shival Gupta在意识到这一点后,通过两个多月的探索,掌握了基本的AI技能,并在Hackernoon上发文分享了自己的学习历程。量子位搬运过来,各位可以参考他的学习思路。转载 2017-10-19 10:07:06 · 1008 阅读 · 0 评论 -
从啤酒和尿布讲关联规则,大数据集处理算法Apriori以及改进的PCY算法
本文将讲解关联规则的相关概念、处理相关规则的一般算法、改进的大数据处理关联规则的Apriori算法以及进一步优化的PCY算法。啤酒和尿布的故事已经广为人晓。很多年轻的父亲买尿布的时候会顺便为自己买一瓶啤酒。亚马逊通过用户购买数据,使用关联规则,使用大数据的处理手段得出了尿布和啤酒的关系。除了啤酒和尿布,现实生活中存在很多类似的关联关系,一般归纳为: A事件发生,B事件很可能也会发生。注意这里存原创 2017-09-29 10:23:17 · 12025 阅读 · 9 评论 -
使用二维高斯函数模糊图片
这篇文章以通俗易懂的语言和方式解释了如何使用高斯函数模糊一张图片。1、一维高斯函数:a表示得到曲线的高度,b是指曲线在x轴的中心,c指width(与半峰全宽有关),图形如下:2、根据一维高斯函数,可以推导得到二维高斯函数: 在图形上,正态分布是一种钟形曲线,越接近中心,取值越大,越远离中心,取值越小。计算平均值的时转载 2017-09-20 08:56:44 · 4506 阅读 · 0 评论 -
PCA的数学原理(通俗易懂)
PCA(Principal Component Analysis)是一种常用的数据分析方法。PCA通过线性变换将原始数据变换为一组各维度线性无关的表示,可用于提取数据的主要特征分量,常用于高维数据的降维。网上关于PCA的文章有很多,但是大多数只描述了PCA的分析过程,而没有讲述其中的原理。这篇文章的目的是介绍PCA的基本数学原理,帮助读者了解PCA的工作机制是什么。当然我并不打算把文章写成转载 2017-09-10 20:11:46 · 885 阅读 · 0 评论 -
Google Brain大牛Jeff dean视频
这个是Google Brain大牛Jeff dean讲课视频,时长为1个小时左右,讲述了目前google目前在人工智能方面的研究和进展。Jeff Dean的个人简介:https://research.google.com/pubs/jeff.html视频地址:https://www.youtube.com/watch?v=HcStlHGpjN8&feature=youtu.bePPT地址:http:原创 2017-08-28 14:56:56 · 778 阅读 · 0 评论 -
安装Anaconda创建虚拟环境以及在pycharm中使用虚拟环境
本文是本人安装window版的Anaconda,使用它创建虚拟环境以及在pyCharm使用所创建的虚拟环境的记录。下载好Anaconda,安装的时候推荐不增加path环境变量,打开Anaconda Prompt就可以操作了。安装一个软件:1、打开Anaconda Prompt,输入下面命令用于创建一个虚拟环境,名字叫tensorflow, 同时指定python的版本,如果本机内没有...原创 2017-09-04 21:59:04 · 49976 阅读 · 5 评论 -
使用tensorflow实现全连接神经网络的简单示例,含源码
看别人的代码和自己写代码,两种的难度和境界真是不一样。昨天和今天尝试着写一个简单的全连接神经网络,用来学习一个基本的模型,在实现的过程中遇到了不少的坑,虽然我已经明白了其中的原理。我想了一个教材上面没有的简单例子,尝试着自己构造训练数据集和测试集。我希望训练一个能够区分红点和蓝点的模型。在我构造的数据集中,当y 1的时候为红点。 对于这个全连接网络,输入节点只有一个,表示x轴的坐标。原创 2017-11-10 10:17:03 · 4034 阅读 · 0 评论 -
近年推荐系统论文调查汇总
现在推荐系统得到了广泛的应用,在百度、京东、淘宝、豆瓣等均到看推荐系统的影子。推荐系统属于机器学习的范畴,是一种预测模型,其类型大致可以分为:(1)用户评分预测推荐(2)top-n 推荐(3)分类推荐。一般有collaborative filtering方法、基于内容相似度推荐和混合推荐等类别。Comprehensive SurveyToward the next generation of re原创 2017-11-12 16:51:22 · 2922 阅读 · 0 评论 -
使用容器的概念理解多维数组和多维空间
这篇博文讲解的是本人多多维数组和多维空间的理解。这里使用到了新的理解的方式,引入了容器的概念。以人思维直观上的理解,多维的空间有点难以在头脑中建模,而对于三维包括三维的空间能够很好地想象出来。我们所生活的空间,可以看作是一个三维的立体空间,如果加上时间的维度,那么就是四维的空间。一维空间表示线段,二维表示面,三维表示立体空间,四维表示在某个时间段中的立体空间。后者包含前者。具体为:线组成面,面组成立原创 2017-11-18 16:44:09 · 701 阅读 · 0 评论 -
迁移学习CNN图像分类模型 - 花朵图片分类
训练一个好的卷积神经网络模型进行图像分类不仅需要计算资源还需要很长的时间。特别是模型比较复杂和数据量比较大的时候。普通的电脑动不动就需要训练几天的时间。为了能够快速地训练好自己的花朵图片分类器,我们可以使用别人已经训练好的模型参数,在此基础之上训练我们的模型。这个便属于迁移学习。本文提供训练数据集和代码下载。 原理:卷积神经网络模型总体上可以分为两部分,前面的卷积层和后面的全连接层。卷积原创 2018-01-31 19:30:24 · 13644 阅读 · 78 评论 -
使用Tensorflow实现残差网络ResNet-50
这篇文章讲解的是使用Tensorflow实现残差网络resnet-50. 侧重点不在于理论部分,而是在于代码实现部分。在github上面已经有其他的开源实现,如果希望直接使用代码运行自己的数据,不建议使用本人的代码。但是如果希望学习resnet的代码实现思路,那么阅读本文将是一个不错的选择,因为本文的代码的思路是很清晰的。如果你刚刚阅读完resnet的那篇论文,非常建议你进一步学习如何使用代码实现原创 2018-01-23 15:34:56 · 55711 阅读 · 103 评论 -
深度学习4:使用MNIST数据集(tensorflow)
本文将介绍MNIST数据集的数据格式和使用方法,使用到的是tensorflow中封装的类,包含代码。MNIST数据集来源于这里, 如果希望下载原始格式的数据集,可以从这里下载。而本文中讲解的是已经使用python代码封装好的MNIST数据集。封装的代码作为tensorflow的一部分,内部使用了numpy。所以,在使用这段封装的代码的时候,返回值将numpy的对象。因为numpy是常用和非常实用的工原创 2018-01-04 11:03:13 · 2064 阅读 · 0 评论 -
深度学习3:手动实现L2正则化(L2 Regularization)
在神经网络中,正则化的作用是防止过拟合,本文将结合一个实例来讲解神经网络中的L2正则化,并手动(不使用框架)实现出来。先来看代码运行结果: 增加L2正则化之前 增加L2正则化之后:L2正则化为:λ2 m ||W|| 2 \frac {\lambda}{2 \text{ }m}||W||^2, 其中λ \lambda是超参数, m是一个batch中数据个数, 除以2的原因是在求导的时候抵消掉原创 2017-12-15 19:27:21 · 16980 阅读 · 1 评论 -
深度学习1:生成模型的输入数据集和可视化
本文讲的是手动生成数据,可视化生成的数据,以及可视化模型训练之后的数据。附有代码和解释。生成点数据和绘制散点图可视化绘制机器学习模型预测之后的结果对npmeshgrid方法的解释附录先上效果图: 图一:绘制双月亮型的散点图 图2-2:显示线性模型的逻辑回归分类的结果 图二:绘制双圆形散点图。 图2-2: 可视化分类结果 图三:绘制多聚类散点图 图3-3:可视化分类结果原创 2017-12-30 23:07:10 · 4457 阅读 · 0 评论 -
SVD、SVD++和Asymmetric SVD 以及实例
这里讲解的是关于SVD、SVD++和Asymmetric SVD 的资料以及一个使用surprise编写SVD的实例。SVD的论文: https://www.netflixprize.com/assets/GrandPrize2009_BPC_BellKor.pdfSVD++的论文:http://www.cs.rochester.edu/twiki/pub/Main/HarpSeminar/Fac原创 2017-12-06 14:50:07 · 2419 阅读 · 0 评论 -
Windows Tensorflow GPU安装
GPU资源对神经网络模型的训练很重要,应充分利用电脑的显卡资源,加快模型的训练速度。这里是本人安装tensorflow-gpu的过程,记录了安装的步骤以及在每个步骤中参考的资料以及所遇到的坑。大体步骤: 1. 使用pip安装tensorflow-gpu。 2. 安装CUDA。 3. 下载CUDNN并把copy其中相应的文件到CUDA所在目录的相应目录下。 4. 检查系统环境变量。一开始可能会原创 2017-12-01 16:38:45 · 13411 阅读 · 0 评论 -
简单完整地讲解tensorflow模型的保存和恢复
tensorflow模型的保存和恢复,save and restorehttp://blog.csdn.net/liangyihuai/article/details/78515913在本教程主要讲到:1. *什么是Tensorflow模型?*2. *如何保存Tensorflow模式?*3. *如何还原预测/迁移学习Tensorflow模型*?4. *如何导入其他已经训练好的模型,并进行自己的修改和完善*原创 2017-11-12 22:37:59 · 6903 阅读 · 4 评论