神经网络

数据挖掘相关知识介绍

人盡茶涼 提交于 2021-02-07 06:19:16
1、数据挖掘定义 把数据库中大量数据背后隐藏的重要信息抽取出来,然后为公司创造很多潜在的利润,针对这种海量数据库中挖掘数据信息的技术称为数据挖掘(DM)。 2、数据挖掘的分类 按照数据库种类:关系型数据库的数据挖掘、数据仓库的数据挖掘、面向对象数据库的挖掘、空间数据库的挖掘、正文数据库和多媒体数据库的数据挖掘。 按知识类别来分:关联、特征描述、分类分析、聚类分析、趋势、偏差分析。 按知识抽象层次:一般文化知识、初级知识、多层次知识。 3、数据挖掘常用技术 人工神经网络:仿照生理神经网络结构的非线性预测模型,通过学习模式识别。 决策树:代表决策集的树形结构。 遗传算法:基于进化理论,并采用遗传结合、遗传变异、以及自然选择等设计方法的优化技术。 紧邻算法:将数据集合中每一个记录进行分类的方法。 规则推导:从统计意义上对数据进行规则寻找和推导。 4、数据挖掘和数据仓库的关系 数据挖掘的关键在于通过访问正确、完整、集成的数据,才能进行深层次的分析,寻求有益的信息。数据仓库是提供数据的源头,并且数据仓库的联机分析功能OLAP还为数据挖掘提供了一个极佳的操作平台。如果两者结合起来可以实现数据的有效联结,可以给数据挖掘带来便利和功能。 5、数据挖掘技术的应用过程 确定挖掘对象:要清晰定义挖掘对象、认清数据挖掘的目标。 准备数据:根据确定的挖掘对象,然后搜索所有与业务对象有关的内部和外部数据

小白学PyTorch | 11 MobileNet详解及PyTorch实现

╄→гoц情女王★ 提交于 2021-02-07 00:18:35
【机器学习炼丹术】的学习笔记分享 <<小白学PyTorch>> 小白学PyTorch | 10 pytorch常见运算详解 小白学PyTorch | 9 tensor数据结构与存储结构 小白学PyTorch | 8 实战之MNIST小试牛刀 小白学PyTorch | 7 最新版本torchvision.transforms常用API翻译与讲解 小白学PyTorch | 6 模型的构建访问遍历存储(附代码) 小白学PyTorch | 5 torchvision预训练模型与数据集全览 小白学PyTorch | 4 构建模型三要素与权重初始化 小白学PyTorch | 3 浅谈Dataset和Dataloader 小白学PyTorch | 2 浅谈训练集验证集和测试集 小白学PyTorch | 1 搭建一个超简单的网络 小白学PyTorch | 动态图与静态图的浅显理解 参考目录: 1 背景 2 深度可分离卷积 2.2 一般卷积计算量 2.2 深度可分离卷积计算量 2.3 网络结构 3 PyTorch实现 本来计划是想在今天讲EfficientNet PyTorch的,但是发现EfficientNet是依赖于SENet和MobileNet两个网络结构,所以本着本系列是给“小白”初学者学习的,所以这一课先讲解MobileNet,然后下一课讲解SENet

【DL基础】盘天盘地盘“直男”,激活函数不简单

独自空忆成欢 提交于 2021-02-06 01:30:44
戳一戳!和我一起走进 深度学习 的世界 导读 我们常常在深度学习中听到激活函数的概念,作为深度学习中的经典“骚操作”,激活函数一直在发浪,却从未被超越。 今天要分享这篇文章带我们一起了解 什么是激活函数?为什么要有激活函数?激活函数都有哪些?它们的优缺点分别是什么? 让我们走进这篇文章,一起来了解一下吧! 如果你有什么问题,或者有什么想法,欢迎评论与我一起沟通交流。 如果你 想了解更多有关于机器学习、深度学习、计算机视觉、OpenCV、等相关技术的内容,想与更多大佬一起沟通,那就加群: 326866692 或者扫描下方二维码加入我们吧! 本文目录 导读 1 激活函数是什么 2 为啥要引入激活函数 A 引入非线性 B 修正线性结果 3 常见激活函数 A Sigmoid B tanh C arctan D ReLU E ReLU变异家族 F 其他激活函数 4 为啥要求激活函数可导 1 激活函数是什么 我们常常听到激活函数,特别是当我们深入研究深度学习的时候,在我们搭建神经网络的时候,我们经常会使用激活函数,当然也有一些小伙伴可能还不是特别熟悉激活函数,所以我们先来看一下激活函数是什么? 当我们对图像做完卷积操作,添加偏置量(不是必须)之后,我们能够得到一个计算结果,把这个计算结果作为输入,经过一个函数得到我们想要的输出。这个函数就是激活函数。 上面这句话说得有点土

吴恩达深度学习学习笔记——C3W1——机器学习策略1-1

非 Y 不嫁゛ 提交于 2021-02-05 14:38:08
1.1 为什么需要ML策略? 问题引入:如何提高机器学习的水平?可能有很多种想法(如,收集更多数据、收集更丰富多样的训练数据、增加梯度下降法迭代次数、增加网络规模、减小网络规模、使用随机失活(dropout)、添加L2正则化项、改变网络架构(激活函数、隐层单元数等)),应该选择哪些,舍弃哪些? 1.2 正交化 正交化的一个实例:老式电视机的调节按钮(上下、左右、形变等),每个按钮的功能明确而相对对立,即所谓“正交”(orthogonal) 机器学习中的假设链: 成本函数调优顺序:训练集 -> 开发集(验证集)-> 测试集 -> 真实世界 Orthogonalization(正交化) Orthogonalization or orthogonality is a system design property that assures that modifying an instruction or a component of an algorithm will not create or propagate side effects to other components of the system. It becomes easier to verify the algorithms independently from one another, it reduces

CV学习笔记(二十二):CRNN+CTC

☆樱花仙子☆ 提交于 2021-02-05 14:27:28
作者:云时之间 来源:知乎 链接: https://zhuanlan.zhihu.com/p/142269888 编辑:王萌 上次的一篇文章说了下DenseNet,这一篇文章来说一下CRNN+CTC的识别原理以及实现过程。这篇文章原理部分主要参考于白裳老师的“一文读懂CRNN+CTC文字识别”,其中的CTC原理的讲解部分是我见过最清晰易懂的,值得好好读一下。 一:OCR识别流程 通常我们做文本识别主要做上图中的三件事,检测的方法比较多,这里说一下识别,之前我们传统的识别过程是将检测到的数字划分为单字符(投影法等),然后扔到CNN里去分类, 但是深度学习的发展,出现了end2end的识别方式,简单的来说就是我们不需要将检测到的数字划分为单字符,无论你检测的数字长度多长,尺寸多宽,直接从头到尾给你识别出来。 比如上图的银行卡号,传统的方式要分割成 这样单个字符,现在直接从左到右识别完整,这样一来,我们就将单个字符的识别问题转化为序列的识别问题。 现在端到端的识别主要有两种比较流行的方式,以银行卡OCR识别为例: CRNN+CTC,CNN+Seq2Seq+Attention是比较流行的方式,CRNN用的会更广泛些,因为Attention机制限制会比较大些,而这两者最主要的区别也就在这,两者都抛弃了softmax,而CRNN用了CTC来最后文本对齐,而CNN用了Attention机制

CV学习笔记(二十一):文本识别(DenseNet)

我的未来我决定 提交于 2021-02-05 14:26:44
作者:云时之间 来源:知乎 链接: https://zhuanlan.zhihu.com/p/141141672 编辑:王萌 在上一篇文章中完成了数据集的拼接仿真,最近又做了一些关于数据集的工作,先是标注了一堆数据集,然后又把数据集再增强了一下(包括加一些噪声,滤波等等),总之就是力图更模拟日常生活的场景,这些日后再谈,这一篇文章我想先说一下在文本检测完成后,使用的识别模型DenseNet,因为最近看了很多的OCR检测项目,大多是使用的是CTPN+DenseNet的结构,既然大家都采用这个结构,说明其中是有一定的奥秘在这(我原本的想法是使用滤波检测+CRNN)。 论文地址:arxiv.org/pdf/1608.0699 在这里我用的DenseNet的源码为: github.com/xiaomaxiao/k 在这里表示感谢 一:DenseNet的特点结构 在论文的Abstract中,很直接的说出了DenseNet的思考点: 我们传统的CNN,参数只能一层一层的向下传播,而DenSeNet在保证网络中层与层之间最大程度的信息传输的前提下,直接将所有层连接起来(简单粗暴),从而更好地利用特征中的信息,简单讲,就是每一层的输入来自前面所有层的输出。因此也带来了几个特点: 第一点:减少了梯度消失的问题 (我的理解是:现在CNN的网络越来越深,特征经过每一次层的传递都会有一定的损失,在深层网络

Convolutional Neural Networks

无人久伴 提交于 2021-02-05 09:29:32
卷积神经网络(Convolutional Neural Networks/ CNN/ConvNets) 卷积神经网络和普通神经网络十分相似: 组成它们的神经元都具有可学习的权重(weights)和偏置(biases)。每个神经元接受一些输入,执行一个点积操作,并且可能执行一个非线性函数最后得到该神经元的输出。整个网络仍然可以表示为一个可微评分函数。这个函数在一端输入图像的像素,在另一端得到某个类别的分数。同时卷积神经网络在做后一个层(fully-connected)上仍然具有损失函数——例如SVM/Softmax——并且我们为常规神经网络而开发的所有技巧,仍然是有该网络。 那么,卷积神经网络有什么不同呢?ConvNet的结构明确地假设了输入是图像,这是我们能够将某些属性集成到网络体系结构中。使得前向传播功能能够更有效率,并且极大地减少了网络中的参数数量。 架构概述 复习: 常规的神经网络 接受一个输入(向量),并且将该向量传递过一系列的隐藏层。每一个隐藏层都包含了一系列的神经元,这些神经元都和之前一层的神经元做全连接,并且即使是同一层,每一个神经元都完全相互独立,之间没有共享任何连接。 常规神经网络在完整大图上没有办法很好的扩展。以 CIFAR-10 为例,图像大小只是 $32\times32\times3$(32宽 32高 3颜色通道),所以在神经网络的第一个隐藏层中

用神经网络给照片补光,谷歌这项研究却实现了「鬼片」效果!(胆小勿入)

旧时模样 提交于 2021-02-05 06:05:44
打光是图像处理过程中的重要步骤,打光的好坏可能会影响整体效果的展示。打光方法也各有不同,MIT、谷歌等的一项新研究另辟蹊径,通过神经光传输方法进行图像的二次打光和视图合成,实现了相当不错的效果。 机器之心报道,编辑:魔王、杜伟、小舟。 图像合成早已不是新鲜话题,但是「打光」可是所有照片的难题。对于人类摄影师而言,打光就是件挺复杂的事,那么合成图像中的光线问题又该如何解决呢? 最近,来自 MIT、谷歌和加州大学圣地亚哥分校的研究人员进行了一项研究,试图 通过神经光传输(Neural Light Transport,NLT)对图像进行二次打光(relighting)和视图合成(view synthesis) 。 那么,这项研究提出的 NLT 方法效果如何呢?研究者在多个场景下进行了测试,包括 Directional Relighting、基于不同图像背景的打光、根据摄像头路径不同进行视图合成后的打光效果等等。 效果看起来不错,就是有点像鬼片……(瑟瑟发抖 具体而言,在 Directional Relighting 场景下,NLT 实现了如下效果: 在基于图像的 Relighting 场景下,人物的打光效果随着背景图像的变换而不断调整: 那么在涉及视图合成时,效果如何呢? 同时进行二次打光和视图合成呢? 想查看更多效果?请戳以下视频: https://v.qq.com/x/page

机器学习的基础图表

余生长醉 提交于 2021-02-03 12:05:00
四大会计师事务所之一的普华永道(PwC)发布了多份解读机器学习基础的图表,其中介绍了机器学习的基本概念、原理、历史、未来趋势和一些常见的算法。为便于读者阅读,机器之心对这些图表进行了编译和拆分,分三大部分对这些内容进行了呈现,希望能帮助你进一步扩展阅读。 一、机器学习概览 1. 什么是机器学习? 机器通过分析大量数据来进行学习。比如说,不需要通过编程来识别猫或人脸,它们可以通过使用图片来进行训练,从而归纳和识别特定的目标。 2. 机器学习和人工智能的关系 机器学习是一种重在寻找数据中的模式并使用这些模式来做出预测的研究和算法的门类。机器学习是人工智能领域的一部分,并且和知识发现与数据挖掘有所交集。 3. 机器学习的工作方式 ①选择数据:将你的数据分成三组:训练数据、验证数据和测试数据 ②模型数据:使用训练数据来构建使用相关特征的模型 ③验证模型:使用你的验证数据接入你的模型 ④测试模型:使用你的测试数据检查被验证的模型的表现 ⑤使用模型:使用完全训练好的模型在新数据上做预测 ⑥调优模型:使用更多数据、不同的特征或调整过的参数来提升算法的性能表现 4. 机器学习所处的位置 ①传统编程:软件工程师编写程序来解决问题。首先存在一些数据→为了解决一个问题,软件工程师编写一个流程来告诉机器应该怎样做→计算机遵照这一流程执行,然后得出结果 ②统计学:分析师比较变量之间的关系 ③机器学习

自然语言处理系列-3.词向量

烈酒焚心 提交于 2021-02-03 07:01:13
估计有人会说小Dream在偷懒。词向量,网上百度一大把的东西,你还要写。在我看来,词向量在自然语言处理中是非常重要的一环,虽然他在一开始就没有受到大家的重视,但是在神经网络再度流行起来之后,就被当作是自然语言处理中奠基式的工作了。另一方面,网上词向量相关的文章,大多是抄来抄去,能够深入浅出,讲的通俗而又不失深度的少之又少。最后,为了这个系列的系统性和完整性,我还是决定好好讲一下词向量,这个非常基础却又重要的工作。 1.文本向量化 首先,我们提出这样一个问题,一个文本,经过分词之后,送入某一个自然语言处理模型之前该如何表示?例如,“人/如果/没用/梦想/,/跟/咸鱼/还有/什么/差别”,向机器学习模型直接输入字符串显然是不明智的,不便于模型进行计算和文本之间的比较。那么,我们需要一种方式来表示一个文本,这种文本表示方式要能够便于进行文本之间的比较,计算等。最容易想到的,就是对文本进行向量化的表示。例如,根据语料库的分词结果,建立一个词典,每个词用一个向量来表示,这样就可以将文本向量化了。 2.词袋模型 要讲词向量,我们首先不得不说的就是词袋模型。词袋模型是把文本看成是由一袋一袋的词构成的。例如,有这样两个文本: (1)“人/如果/没有/梦想/,/跟/咸鱼/还有/什么/差别” (2)“人生/短短/几十/年/,差别/不大/,/开心/最/重要” 这两个文本,可以构成这样一个词典:{“人”,