- 博客(40)
- 资源 (20)
- 收藏
- 关注
原创 深度学习框架PyTorch入门与实践:第九章 AI诗人:用RNN写诗
本章重点讲解自然语言处理中的两个基本概念:词向量(Word Vector)和循环神经网络(Recurrent Neural Network,RNN),并尝试自己动手,用RNN实现自动写诗。
2019-10-20 17:01:06 7912 3
原创 深度学习框架PyTorch入门与实践:第八章 AI艺术家:神经网络风格迁移
本章我们将介绍一个酷炫的深度学习应用——风格迁移(Style Transfer)。近年来,由深度学习引领的人工智能技术浪潮越来越广泛地应用到社会各个领域。这其中,手机应用Prisma,尝试为用户的照片生成名画效果,一经推出就吸引了海量用户,登顶App Store下载排行榜。这神奇背后的核心技术就是基于深度学习的图像风格迁移。风格迁移又称风格转换,直观点的类比就是给输入的图像加个滤镜,但是又不同于传统滤镜。风格迁移基于人工智能,每个风格都是由真正的艺术家作品训练、创作而成。只需要给定原始图片,并选择艺
2019-10-10 00:15:41 2374 2
原创 深度学习框架PyTorch入门与实践:第七章 AI插画师:生成对抗网络
生成对抗网络(Generative Adversarial Net,GAN)是近年来深度学习中一个十分热门的方向,卷积网络之父、深度学习元老级人物LeCun Yan就曾说过“GAN is the most interesting idea in the last 10 years in machine learning”。尤其是近两年,GAN的论文呈现井喷的趋势,GitHub上有人收集了各种各样的GAN变种、应用、研究论文等,其中有名称的多达数百篇**[[the-gan-zoo]](https://gith
2019-10-06 02:46:49 2915 1
原创 深度学习框架PyTorch入门与实践:第六章 PyTorch实战指南
通过前面几章的学习,我们已经掌握了PyTorch中大部分的基础知识,本章将结合之前讲的内容,带领读者从头实现一个完整的深度学习项目。本章的重点不在于如何使用PyTorch的接口,而在于合理地设计程序的结构,使得程序更具可读性、更易用。
2019-10-04 22:23:41 4186 4
原创 深度学习框架PyTorch入门与实践:第五章 PyTorch中常用的工具
在训练神经网络的过程中需要用到很多工具,其中最重要的三部分是数据处理、可视化和GPU加速。本章主要介绍PyTorch在这几方面常用的工具,合理使用这些工具能极大地提高编程效率。
2019-10-02 18:21:25 1525 2
原创 深度学习框架PyTorch入门与实践:第四章 神经网络工具箱nn
autograd实现了自动微分系统,然而对深度学习来说过于底层,本章将介绍的nn模块,是构建于autograd之上的神经网络模块。除了nn之外,我们还会介绍神经网络中常用的工具,比如优化器optim、初始化init等。
2019-10-02 18:17:18 1548
原创 深度学习框架PyTorch入门与实践:第三章 Tensor和autograd
几乎所有的深度学习框架背后的设计核心都是张量和计算图,PyTorch也不例外,本章我们将学习PyTorch中的张量系统(Tensor)和自动微分系统(autograd)。
2019-09-24 00:16:48 1544
原创 深度学习框架PyTorch入门与实践:第二章 快速入门
本章主要介绍两个内容,2.1节介绍如何安装PyTorch,以及如何配置学习环境;2.2节将带领读者快速浏览PyTorch中主要内容,给读者一个关于PyTorch的大致印象。2.1 安装与配置2.1.1 安装PyTorchPyTorch是一款以Python语言主导开发的轻量级深度学习框架。在使用PyTorch之前,需要安装Python环境及其pip包管理工具,推荐使用Virtualenv配置虚...
2019-09-16 00:09:01 2126 2
原创 深度学习框架PyTorch入门与实践:第一章 PyTorch简介
本章为PyTorch简介。主要内容包括:PyTorch的诞生过程,常见主流深度学习框架的优劣,PyTorch相比这些框架的优势等。
2019-09-13 23:04:35 7009 2
原创 跟我一起学PyTorch-09:PyTorch项目实战
本节介绍PyTorch项目实战,包含三个项目:猫狗大战(图像识别)、新闻分类(文本分类)、命令词识别(语音识别)。
2019-09-11 03:26:33 8848 6
原创 跟我一起学PyTorch-08:循环神经网络RNN
本章内容首先提到的是序列数据的处理,然后介绍标准的RNN以及它面临的一些问题,随后介绍RNN的一些扩展LSTM(Long Short-Term Memory)以及RNNs(Recurrent Neural Networks,基于循环神经网络变形的统称)在NLP(Natural Language Process,自然语言处理)上的应用,最后结合一个示例介绍PyTorch中RNNs的实现。
2019-09-02 00:58:03 2390
原创 跟我一起学PyTorch-07:嵌入与表征学习
前面介绍了深度神经网络和卷积神经网络,这些神经网络有个特点:输入的向量越大,训练得到的模型越大。但是,拥有大量参数模型的代价是昂贵的,它需要大量的数据进行训练,否则由于缺少足够的训练数据,就可能出现过拟合的问题。尽管卷积神经网络能够在不损失模型性能的情况下减少模型参数,但是仍然需要大量带有标签的数据进行训练。半监督学习通过进一步学习未标签数据来解决这个问题,具体思路是:从未标签数据上学习数据的表征,用这些表征来解决监督学习问题。
2019-08-13 00:42:36 2457 1
原创 跟我一起学PyTorch-06:卷积神经网络CNN
本章首先介绍人类视觉和计算机视觉的基本原理,以及计算机视觉中特征的提取和选择;然后介绍卷积神经网络的主体思想和整体结构,并将详细讲解卷积层和池化层的网络结构、PyTorch对这些网络的支持、如何设置每一层神经网络的配置,以及更加复杂的卷积神经网络结构,如AlexNet、VGGNet、ResNet等;最后在MNIST数据集上通过PyTorch使用卷积神经网络实现图片分类。
2019-07-24 23:40:58 1802 2
原创 跟我一起学PyTorch-05:深度神经网络DNN
深度学习之所以能够成功,是因为解决了神经网络的训练问题,使得包含多个隐含层的神经网络模型变得可能。神经网络训练问题的解决,包括了四个方面的因素:(1)硬件设备特别是高性能GPU的进步,极大地提高了数值运算和矩阵运算的速度,神经网络的训练时间明显减少。(2)大规模得到标注的数据集(如CIFAR10和ImageNet等)可以避免神经网络因为参数过多而得不到充分训练的问题。(3)新型神经网络的提出,包括深度信念网络、受限玻尔兹曼机、卷积神经网络CNN、循环神经网络RNN、LSTM等。(4)优化算法
2019-07-12 00:47:50 3303 2
原创 跟我一起学PyTorch-04:神经网络
本节从神经网络的发展着手,依次介绍激活函数、前向算法、损失函数、反向传播算法以及PyTorch中的数据处理,最后使用PyTorch解决一个iris数据集上的多分类问题。通过本节的学习,我们将对整个神经网络的流程有一个比较全面的认识。
2019-07-07 01:05:46 1471
原创 跟我一起学PyTorch-03:PyTorch基础知识
PyTorch的许多函数在使用上和Numpy几乎一样,能够平滑地结合使用,Numpy的绝大多数操作同样可以用在PyTorch中。PyTorch的特色之一是提供构建动态计算图的框架,这样网络结构不再是一成不变的了,甚至可以在运行时修正它们。在神经网络方面,PyTorch的优点还在于使用了多GPU的强大加速能力、自定义数据加载器和极简的预处理过程等。尽管PyTorch与其他框架相比还算是新秀,仍然需要完善和改进,但不否认它一出现就得到了广泛的认同和运用。
2019-06-30 00:20:15 784 1
原创 跟我一起学PyTorch-01:深度学习简介
围棋号称人类最复杂的棋类运动,但近两年来,在AlphaGo的冲击下,已经溃不成军。继2016年AlphaGo以4:1击败韩国李世石,2017年AlphaGo Master以3:0零封柯洁之后,最新的Alpha Zero在没有棋谱的情况下,进行3天的自我训练后,就击败了AlphaGo;经过40天训练后,击败了Alpha Master。在AlphaGo背后隐藏的知识就是近来发展如火如荼的深度学习。深度学习不仅在围棋领域大放异彩,在图像识别、语音识别、自然语言处理等领域也全面开花。
2019-06-29 17:10:39 771 1
原创 跟我一起学scikit-learn22:K-均值算法
K-均值(K-means)算法是一种典型的无监督机器学习算法,用来解决聚类问题(Clustering)。由于数据标记需要耗费巨大的人力物力,无监督或者半监督学习算法不需要对数据进行标记,可以大大减少工作量。
2019-06-25 23:03:31 948
原创 跟我一起学scikit-learn21:PCA算法
PCA算法全称是Principal Component Analysis,即主成分分析算法。它是一种维数约减(Dimensionality Reduction)算法,即把高维度数据在损失最小的情况下转换为低维度数据的算法。显然,PCA可以用来对数据进行压缩,可以在可控的失真范围内提高运算速度。
2019-06-23 22:51:04 621
原创 跟我一起学scikit-learn20:朴素贝叶斯算法
朴素贝叶斯(Naive Bayers)算法是一种基于概率统计的分类方法。它在条件独立假设的基础上,使用贝叶斯定理构建算法,在文本处理领域有广泛的应用。
2019-06-22 22:58:20 2722
原创 跟我一起学scikit-learn19:支持向量机算法
支持向量机(SVM,Support Vector Machine)算法是一种常见的分类算法,在工业界和学术界都有广泛的应用。特别是针对数据集较小的情况下,往往其分类效果比神经网络好。
2019-06-17 00:20:56 559
原创 跟我一起学scikit-learn18:决策树算法
决策树(Decision Tree,简称DT)是最经典的机器学习模型之一,它的预测结果容易理解,易于向业务部门解释,预测速度快,可以处理离散型数据和连续型数据。
2019-06-15 18:25:29 1626 1
原创 跟我一起学scikit-learn15:K-近邻算法
KNN(K-Nearest Neighbor,K-近邻算法)算法是一种有监督的机器学习算法,可以解决分类问题,也可以解决回归问题。
2019-06-06 00:12:05 657
原创 跟我一起学scikit-learn14:F1 Score
由于现在有两个指标:查准率和召回率,如果有一个算法的查准率是0.5,召回率是0.4;另一个算法的查准率是0.02,召回率是1.0。那么两个算法到底哪个好呢?为了解决这个问题,我们引入了F1Score的概念:F1Score=2PRP+R{F}_{1}Score=2\frac{PR}{P+R}F1Score=2P+RPR其中P是查准率(Precision),R是召回率(Recall)。这样就...
2019-06-04 23:28:31 744
原创 跟我一起学scikit-learn13:查准率和召回率
有时候,模型准确性并不能评价一个算法的好坏。比如针对癌症筛选算法,据统计,普通肿瘤中癌症的概率是0.5%。有个机器学习算法,测试得出的准确率是99.2%,错误率是0.8%。这个算法到底是好还是坏呢?如果努力改进算法,最终得出的准确率是99.5%,错误率是0.5%,模型到底是变好了还是变坏了呢?坦白讲,如果单纯从模型准确性的指标上很难判断到底是变好了还是变坏了。因为这个事情的先验概率太低了,假如写...
2019-06-04 23:15:04 658
原创 跟我一起学scikit-learn12:算法模型性能优化
当我们辛苦开发出来的机器学习算法不能很好地预测新数据时,该怎么办呢?一般情况下,需要先判断这个算法模型是欠拟合还是过拟合。如果是过拟合,可以采取的措施如下:获取更多的训练数据:从学习曲线的规律来看,更多的数据有助于改善过拟合问题。减少输入的特征数量:比如,针对手写识别系统,原来使用200x200的图片,总共40000个特征。优化后,可以把图片等比例缩小为10x10的图片,总共100个特征。...
2019-06-04 22:48:01 245
原创 跟我一起学scikit-learn11:学习曲线
我们可以把Jtrain(θ){J}_{train}(\theta)Jtrain(θ)和Jcv(θ){J}_{cv}(\theta)Jcv(θ)作为纵坐标,画出与训练数据集m的大小关系,这就是学习曲线。通过学习曲线,可以直观地观察到模型的准确性与训练数据集大小的关系。如果数据集的大小为m,则通过下面的流程即可画出学习曲线:把数据集分成训练数据集和交叉验证数据集。取训练数据集的20%作为训...
2019-06-04 22:30:28 573
原创 跟我一起学scikit-learn10:模型准确性
测试数据集的成本,即Jtest(θ){J}_{test}(\theta)Jtest(θ)是评估模型准确性的最直观的指标,Jtest(θ){J}_{test}(\theta)Jtest(θ)值越小说明模型预测出来的值与真实值差异越小,对新数据的预测准确性就越好。需要特别注意,用来测试模型准确性的测试数据集,必须是模型“没见过”的数据。这就是为什么,要把数据集分成训练数据集和测试数据集。一般原则...
2019-06-03 21:29:40 446 1
原创 跟我一起学scikit-learn09:成本函数
成本是衡量模型与训练样本符合程度的指标。简单地理解,成本是针对所有的训练样本,模型拟合出来的值与训练样本的真实值的误差平均值。
2019-06-03 09:59:40 695
原创 跟我一起学scikit-learn08:过拟合和欠拟合
过拟合:是指模型能很好地拟合训练样本,但对新数据的预测准确性很差。欠拟合:是指模型不能很好地拟合训练样本,且对新数据的预测准确性也不好。
2019-06-03 09:58:26 238
原创 跟我一起学scikit-learn07:scikit-learn简介
scikit-learn是一个开源的Python语言机器学习工具包。它涵盖了几乎所有主流机器学习算法的实现,并且提供了一致的调用接口。它基于Numpy和SciPy等Python数值计算库,提供了高效的算法实现。
2019-06-02 23:09:25 715
原创 跟我一起学scikit-learn06:Matplotlib简介
Matplotlib是Python数据可视化工具包,IPython为Matplotlib专门提供了特殊的交互模式。如果要在IPython控制台使用Matplotlib,可以使用ipython–matplotlib命令来启动IPython控制台程序;如果要在IPython notebook里使用Matplotlib,则在notebook的开始位置插入%matplotlib inline魔术命令即可。
2019-05-31 15:31:21 271
原创 跟我一起学scikit-learn05:Pandas简介
Pandas是一个强大的时间序列数据处理工具包,最初开发的目的是为了分析财经数据,现在已经广泛应用在Python数据分析领域。本节通过简单的介绍,让读者熟悉简单的Pandas概念及操作。###1.基本数据结构Pandas最基础的数据结构是Series,用它来表达一行数据,可以理解为一维数组。比如下面的代码,创建了一个包含6个数据的一维数组。In [1]: import pandas as p...
2019-05-30 08:29:44 286
原创 跟我一起学scikit-learn4:Numpy简介
Numpy是Python科学计算的基础库,主要提供了高性能的N维数组实现以及计算能力,还提供了和其他语言如C/C++集成的能力。此外还实现了一些基础的数学算法,如线性代数相关、傅里叶变换以及随机数生成等。(1)Numpy数组可以直接用Python列表来创建数组。In [1]: import numpy as npIn [2]: a = np.array([1,2,3,4])In ...
2019-05-12 23:24:25 294
原创 跟我一起学scikit-learn3:IPython简介
IPython是公认的现代科学计算中最重要的python工具之一,它是一个加强版的Python交互式命令行工具,与系统自带的Python交互环境相比,IPython具有以下几个明显特征:可以在IPython环境下直接执行Shell命令; 自带jupyter notebook可视化Web UI,在机器学习、探索数据、可视化数据、绘制图形等场景特别有用; 拥有内省、Tab补全、魔术命令等更强大...
2019-05-04 00:28:59 209
原创 跟我一起学scikit-learn2:开发环境搭建
本节介绍了scikit-learn相关开发环境的搭建步骤。这里主要用到IPython、Numpy、Pandas、Matplotlib和scikit-learn等软件包。搭建Python开发环境一般有两种常用的方式:(1)安装Anaconda集成环境Anaconda是一个开源的Python发行版本,其包含了conda、python、ipython、numpy、scipy、pandas、m...
2019-05-03 23:30:04 303
原创 跟我一起学scikit-learn1:机器学习简介
1.1 什么是机器学习机器学习的概念可以追溯到1959年,Arthur Samuel对机器学习做出的定义是:Field of study that gives computers the ability to learn without being explicitly programmed(即让计算机在没有被显示编程的情况下,具备自我学习的能力)。Tom M. Mitchell在操作层面...
2019-05-02 00:40:11 354
AST和Java Model.zip
2019-09-19
apache-mrunit-1.1.0-hadoop2-bin.tar.gz
2019-03-04
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人