python神经网络

深度学习入门笔记(十四):Softmax

泄露秘密 提交于 2020-02-05 07:03:22
欢迎关注WX公众号:【程序员管小亮】 专栏——深度学习入门笔记 声明 1)该文章整理自网上的大牛和机器学习专家无私奉献的资料,具体引用的资料请看参考文献。 2)本文仅供学术交流,非商用。所以每一部分具体的参考资料并没有详细对应。如果某部分不小心侵犯了大家的利益,还望海涵,并联系博主删除。 3)博主才疏学浅,文中如有不当之处,请各位指出,共同进步,谢谢。 4)此属于第一版本,若有错误,还需继续修正与增删。还望大家多多指点。大家都共享一点点,一起为祖国科研的推进添砖加瓦。 文章目录 欢迎关注WX公众号:【程序员管小亮】 专栏——深度学习入门笔记 声明 深度学习入门笔记(十四):Softmax 1、Softmax 回归 2、训练一个 Softmax 分类器 推荐阅读 参考文章 深度学习入门笔记(十四):Softmax 1、Softmax 回归 如果是二分分类的话,只有两种可能的标记——0或1,如果是猫咪识别例子,答案就是:这是一只猫或者不是一只猫; 如果有多种可能的类型的话呢?有一种 logistic 回归的一般形式,叫做 Softmax 回归,能在试图识别某一分类时做出预测,或者说是多种分类中的一个,不只是识别两个分类,一起看一下。 假设不单单需要识别猫,而是想识别猫,狗和小鸡,其中把猫称为类1,狗为类2,小鸡是类3,如果不属于以上任何一类,就分到“其它”或者说“以上均不符合”这一类

百度PaddlePaddle入门-1

谁都会走 提交于 2020-02-01 12:13:22
(以自己认知的方式学习DL。 注:下文基本上都是百度PaddlePaddle培训内容) 人工智能\机器学习和深度学习的概念及关系 人工智能、机器学习和深度学习的概念在近些年十分火热,但很多从业者也难以说清它们之间的关系,外行人更是雾里看花。学习深度学习,需要先从三个概念的正本清源开始。 三者覆盖的技术范畴是逐层递减的, 人工智能是最宽泛的概念,机器学习则是实现人工智能的一种方式 ,也是目前较有效的方式。 深度学习是机器学习算法中最热的一个分支 ,在近些年取得了显著的进展,并代替了多数传统机器学习算法。所以,三者的关系可用下图表示,人工智能 > 机器学习 > 深度学习。 图1:人工智能、机器学习和深度学习三者之间的概念范围 如字面含义,人工智能是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的科学。由于这个定义只阐述了目标,而没限定方法。所以,实现人工智能存在的诸多方法和分支,导致其变成一个“大杂烩”式的学科。 与此不同,机器学习,尤其是监督学习则有更加明确的指代。 机器学习是专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能 。这句话有点“云山雾罩”的感觉,让人不知所云。 下面以“机器从牛顿第二定律实验中学习知识”为案例,让读者深入理解下机器学习(监督学习)到底是怎样的一种技术方法

深度学习笔记(五)——神经网络和深度学习(深层神经网络)

大兔子大兔子 提交于 2020-01-29 03:31:32
1.深层神经网络 深层神经网络其实就是包含更多的隐藏层神经网络。下图分别列举了逻辑回归、1个隐藏层的神经网络、2个隐藏层的神经网络和5个隐藏层的神经网络它们的模型结构。 命名规则上,一般只参考隐藏层个数和输出层。例如,上图中的逻辑回归又叫1 layer NN,1个隐藏层的神经网络叫做2 layer NN,2个隐藏层的神经网络叫做3 layer NN,以此类推。如果是L-layer NN,则包含了L-1个隐藏层,最后的L层是输出层。 2.深层网络中的前向传播 对于第 层 ,其正向传播过程的 和 可以表示为(此处是m个样本向量化的形式): 也就是X。向量化也就是将所有训练样本写成列向量,从左到右叠起来。对上式采用for循环计算每层的激活函数等,并且层间计算无法避免使用for循环进行计算。 3.核对矩阵的维数 对于单个训练样本,输入x的维度是 ,神经网络的参数 和 的维度分别是: 其中, 和 分别是第 层和第 层的神经元个数。 ,表示输入层特征个数。 反向传播过程中, 和 的维度分别与 和 相同。 正向传播过程中, 和 的维度均为 ,且 和 的维度分别与 和 相同。 对于m个样本,输入矩阵X的维度是 。需要注意的是 和 的维度与只有单个样本是相同的。但在运算 中,由于python的广播性质且 的每一列都是一样的, 会被当作 矩阵进行运算。 和 的维度分别与 和 相同。 和 的维度均为

深度学习

六眼飞鱼酱① 提交于 2020-01-25 19:06:04
神经网络中激活函数的作用: a. 不使用激活函数,每一层输出都是上层输入的线性函数,无论神经网络有多少层,输出都是输入的线性组合。 b. 使用激活函数,能够给神经元引入非线性因素,使得神经网络可以任意逼近任何非线性函数,这样神经网络就可以利用到更多的非线性模型中。 激活函数需要具备以下几点性质: 连续并可导(允许少数点上不可导)的非线性函数。可导的激活函数可以直接利用数值优化的方法来学习网络参 数。 激活函数及其导函数要尽可能的简单,有利于提高网络计算效率。 激活函数的导函数的值域要在一个合适的区间内,不能太大也不能太小,否则会影响训练的效率和稳定性。 Caffe Caffe是纯粹的C++/CUDA架构,支持命令行、Python和MATLAB接口; 可以在CPU和GPU直接无缝换:Caffe::set_mode(Caffe::GPU); 在Caffe中图层需要使用C++定义,而网络则使用Protobuf定义。Caffe是一个深度卷积神经网络的学习框架,使用Caffe可以比较方便地进行CNN模型的训练和测试,精于CV领域。 Caffe作为快速开发和工程应用是非常适合的。caffe官方提供了大量examples,照着examples写,caffe只要求会写prototxt就行,它的训练过程、梯度下降算法等等都实现封装好了,懂了prototxt的语法了,基本就能自己构造神经网络了。

入门神经网络-Python 实现(下)

寵の児 提交于 2020-01-23 00:11:51
回顾 紧接着上篇, 整到了, MES的公式和代码的实现. \(MSE = \frac {1}{n} \sum\limits_{i=1}^n (y_i - \hat y_i)^2\) n 表示样本数, 这里为 4 y 表示要预测的变量, 这里是 性别 训练的约束, 就是使得 MSE 的值尽可能小. -> 求解参数 MSE 的工作机制, 举个栗子, 假设网络的纵输出是 0, 也就是预测所有的 小伙伴都是 妹子. 姓名 \(y_i\) (真实值) \(\hat y_i\) (预测值) \((y_i - \hat y_i)\) youge 1 0 1 share 1 0 1 naive 0 0 0 beyes 0 0 0 \(MSE = \frac {1}{4} (1 + 1 + 0 + 1) = 0.5\) BP算法本质 - 求导链式法则 现在继续... 始终要明确我们的目标: 最小化神经网络的损失 这个损失呢, 本质也就是一个关于 权重和偏置 的函数 如图 所示: 则本例的损失函数可以这样参数化表示为: \(L(w_1, w_2, w_3, w_4, w_5, w_6, b1, b_2, b_3)\) 现在来考虑对 w 进行优化, 假设要优化 \(w_1\) (即当 \(w_1\) 变化时, L 会如何变化), 也就是: \(\frac {\partial L}{\partial w

循环神经网络(RNN, Recurrent Neural Networks)介绍

谁说我不能喝 提交于 2020-01-20 04:45:27
原文地址: http://blog.csdn.net/heyongluoyao8/article/details/48636251# 循环神经网络(RNN, Recurrent Neural Networks)介绍    这篇文章很多内容是参考: http://www.wildml.com/2015/09/recurrent-neural-networks-tutorial-part-1-introduction-to-rnns/ ,在这篇文章中,加入了一些新的内容与一些自己的理解。   循环神经网络(Recurrent Neural Networks,RNNs)已经在众多 自然语言 处理(Natural Language Processing, NLP)中取得了巨大成功以及广泛应用。但是,目前网上与RNNs有关的学习资料很少,因此该系列便是介绍RNNs的原理以及如何实现。主要分成以下几个部分对RNNs进行介绍: 1. RNNs的基本介绍以及一些常见的RNNs(本文内容); 2. 详细介绍RNNs中一些经常使用的训练 算法 ,如Back Propagation Through Time(BPTT)、Real-time Recurrent Learning(RTRL)、Extended Kalman Filter(EKF)等学习算法,以及梯度消失问题(vanishing

循环神经网络(Recurrent Neural Networks, RNN)介绍

情到浓时终转凉″ 提交于 2020-01-20 04:44:32
目录 1 什么是RNNs 2 RNNs能干什么   2.1 语言模型与文本生成Language Modeling and Generating Text   2.2 机器翻译Machine Translation   2.3 语音识别Speech Recognition   2.4 图像描述生成 Generating Image Descriptions 3 如何训练RNNs 4 RNNs扩展和改进模型   4.1 Simple RNNsSRNs2   4.2 Bidirectional RNNs3   4.3 DeepBidirectionalRNNs4   4.4 Echo State Networks5   4.5 Gated Recurrent Unit Recurrent Neural Networks6   4.6 LSTM Netwoorks7   4.7 Clockwork RNNsCW-RNNs9 5 总结 6 参考博文 7 参考文献   这篇文章很多内容是参考: http://www.wildml.com/2015/09/recurrent-neural-networks-tutorial-part-1-introduction-to-rnns/ ,在这篇文章中,加入了一些新的内容与一些自己的理解。   循环神经网络(Recurrent Neural

算法工程师耗尽心血终成TensorFlow深度学习应用实践,值得一学!

a 夏天 提交于 2020-01-17 14:28:40
本篇总的指导思想是在掌握深度学习的基本知识和特性的基础上,培养使用TensorFlow进行实际编程以解决图像处理相关问题的能力。全篇力求深入浅出,通过通俗易懂的语言和详细的程序分析,介绍TensorFlow的基本用法、高级模型设计和对应的程序编写。 本篇强调理论联系实际,重点介绍TensorFlow编程解决图像识别的应用,提供了大量数据集,并以代码的形式实现了深度学习模型,以供读者参考。 本篇可作为学习人工神经网络、深度学习TensorFlow 程序设计以及图像处理等相关内容的程序设计人员学习。 **本篇共22章,内容包括Python类库的安装和使用、TensorFlow 基本数据结构和使用、TensorFlow 数据集的创建与读取、人工神经网络、反馈神经网络、全卷积神经网络的理论基础、深度学习模型的创建、模型的特性、算法、ResNet、 Slim、 GAN等。 由于细节内容实在是太多了,所以小编只把部分知识点截图出来粗略的介绍,每个小节都有更加细化的内容,希望大家能够从中得到真谛!** 第1章介绍深度学习的基本内容,初步介绍深度学习应用于计算机视觉和发展方向,介绍使用深度学习解决计算机视觉问题的应用前景,旨在说明使用深度学习和人工智能实现计算机视觉是未来的发展方向,也是必然趋势。 第2章介绍Python的安装和最常用的类库。Python语言是易用性非常强的语言

机器学习原理视频

蹲街弑〆低调 提交于 2020-01-13 03:45:27
想自学机器学习和深度学习?不妨边看专家讲解视频边自学。不仅能感受世界各地专家的熏陶,也能快速获取知识,一举两得。这篇文章整理了一个 YouTube 视频列表,供希望在该领域学习的朋友使用。   视频观看建议   我将视频分为三类:机器学习、神经网络、深度学习。为方便起见,你可以使用我创建的列表按顺序学习。特别推荐初学者根据顺序学习,以更好地理解视频。   这套参考视频集需要时间消化,若觉得视频太多请根据需要调节每次的学习时长。视频长度从几分钟到几小时不等。我已写出每个视频的摘要,供读者查阅。   一、机器学习相关视频   1. 机器人和人工智能的未来(斯坦福大学,吴恩达)   原标题:The Future of Robotics and Artificial Intelligence   链接:https://www.youtube.com/watch?v=AY4ajbu_G3k&feature=youtu.be   时长:16 分钟 26 秒   总结:开启机器学习之旅最好的方法就是,莫过于听全世界最好的老师和专家讲课。斯坦福大学 的吴恩达在此讲述了自己幼时的梦想,创造一个可以像人类一样思考和工作的机器人,并改善千万人的生活。另外,他还探讨了人类大脑和使机器行为更类人的软件之间的相似性。   2. 吴恩达机器学习讲座系列   原标题:Lecture Collection |

人工智能实验四:深度学习算法及应用(DNN&CNN)

走远了吗. 提交于 2020-01-12 08:43:37
人工智能实验四报告:深度学习算法及应用 文章目录 人工智能实验四报告:深度学习算法及应用 实验目的 实验要求 实验硬件 实验软件 实验内容与步骤 MNIST数据集 具体实现 DNN(深度神经网络) 概述 具体设计 代码实现 结果输出 结果分析 为啥我又用了CNN(卷积神经网络)? CNN(卷积神经网络) 概述 具体设计 代码实现 结果输出 结果分析 思考题 实验目的 了解深度学习的基本原理 能够使用深度学习开源工具识别图像中的数字 了解图像识别的基本原理 实验要求 解释深度学习原理 对实验性能进行分析 回答思考题 实验硬件 计算机 实验软件 软件:windows操作系统 应用软件:TensorFlow、PyCharm、Python、Google Colab 实验内容与步骤 安装开源深度学习工具设计并实现一个深度学习模型,它能够学习识别图像中的数字序列。使用数据训练它,可以使用人工合成的数据(推荐),或直接使用现实数据。 MNIST数据集 通过下面的代码我们可以对其中的图片有一个大致的把握: import matplotlib . pyplot as plt # 训练集 train_images = mnist . train . images train_labels = mnist . train . labels # 验证集 validation_images = mnist