| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> 神经网络输入数据预处理神经网络自然语言处理 -> 正文阅读 |
|
[人工智能]神经网络输入数据预处理神经网络自然语言处理 |
在模式识别、人工神经网络方法中,为什么要进行数据预处理呢?1. 原数据可能数据量很大,维数很,计算机处理起来时间复杂度很高,预处理可以降低数据维度。2. 数据的很多特性非常影响神经网络等分类模型的效果。 比如数据值得分布不在一个尺度上,当地气温值与当地月工资显然不在一个数量级上,这时,需要数据规范化,把这两个特征的数据都规范到0到1,这样使得它们对模型的影响具有同样的尺度。 3. 当然,数据预处理还有很多,比如中心化,去噪,降维,平滑,变换等等,各有各的目的,总之都是为了最终分类器的效果服务,由于原数据可能含有大量的噪声,去除噪声是有必要的。 谷歌人工智能写作项目:神经网络伪原创 自然语言处理的一般步骤自然语言处理(NLP)关注的是人类的自然语言与计算机设备之间的相互关系写作猫。NLP是计算机语言学的重要方面之一,它同样也属于计算机科学和人工智能领域。 而文本挖掘和NLP的存在领域类似,它关注的是识别文本数据中有趣并且重要的模式。但是,这二者仍有不同。 首先,这两个概念并没有明确的界定(就像“数据挖掘”和“数据科学”一样),并且在不同程度上二者相互交叉,具体要看与你交谈的对象是谁。我认为通过洞见级别来区分是最容易的。 如果原始文本是数据,那么文本挖掘就是信息,NLP就是知识,也就是语法和语义的关系。虽然NLP和文本挖掘不是一回事儿,但它们仍是紧密相关的:它们处理同样的原始数据类型、在使用时还有很多交叉。 我们的目的并不是二者绝对或相对的定义,重要的是要认识到,这两种任务下对数据的预处理是相同的。努力消除歧义是文本预处理很重要的一个方面,我们希望保留原本的含义,同时消除噪音。 以下就是处理文本任务的几大主要步骤:1.数据收集获取或创建语料库,来源可以是邮箱、英文维基百科文章或者公司财报,甚至是莎士比亚的作品等等任何资料。 2.数据预处理在原始文本语料上进行预处理,为文本挖掘或NLP任务做准备数据预处理分为好几步,其中有些步骤可能适用于给定的任务,也可能不适用。但通常都是标记化、归一化和替代的其中一种。 3.数据挖掘和可视化无论我们的数据类型是什么,挖掘和可视化是探寻规律的重要步骤常见任务可能包括可视化字数和分布,生成wordclouds并进行距离测量4.模型搭建这是文本挖掘和NLP任务进行的主要部分,包括训练和测试在适当的时候还会进行特征选择和工程设计语言模型:有限状态机、马尔可夫模型、词义的向量空间建模机器学习分类器:朴素贝叶斯、逻辑回归、决策树、支持向量机、神经网络序列模型:隐藏马尔可夫模型、循环神经网络(RNN)、长短期记忆神经网络(LSTMs)5.模型评估模型是否达到预期? 度量标准将随文本挖掘或NLP任务的类型而变化以上观点仅供参考,而在自然语言文本预处理方面的技术在国内效果比较好的并不多,具有代表性的如:北理工张华平博士的NLPIR大数据语义智能分析技术。 NLPIR大数据语义智能分析平台是根据中文数据挖掘的综合需求,融合了网络精准采集、自然语言理解、文本挖掘和语义搜索的研究成果,并针对互联网内容处理的全技术链条的共享开发平台。如果感兴。 什么是end-to-end神经网络因为多层神经网络被证明能够耦合任意非线性函数,通过一些配置能让网络去做以前需要人工参与的特征设计这些工作,然后配置合适的功能如classifier,regression,而现在神经网络可以通过配置layers的参数达到这些功能,整个输入到最终输出无需太多人工设置,从raw data 到最终输出指标经典机器学习方式是以人类的先验知识将raw数据预处理成feature,然后对feature进行分类。 分类结果十分取决于feature的好坏。所以过去的机器学习专家将大部分时间花费在设计feature上。那时的机器学习有个更合适的名字叫feature engineering 。 后来人们发现,利用神经网络,让网络自己学习如何抓取feature效果更佳。于是兴起了representation learning。这种方式对数据的拟合更加灵活。 网络进一步加深,多层次概念的representation learning将识别率达到了另一个新高度。于是你听到了是个搞机器学习的人都知道的名字:deep learning。 实指多层次的特征提取器与识别器统一训练和预测的网络。 end to end的好处:通过缩减人工预处理和后续处理,尽可能使模型从原始输入到最终输出,给模型更多可以根据数据自动调节的空间,增加模型的整体契合度。拿语音识别为具体实例。 普遍方法是将语音信号转成频域信号,并可以进一步加工成符合人耳特点的MFCC进行编码(encode)。也可以选择Convolutional layers对频谱图进行特征抓取。 这样可在encode的部分更接近end to end 中的第一个end。但识别出的结果并不可以告诉我们这段语音到底是什么。 DNN-HMM混合模型还需要将DNN识别出的结果通过HMM来解码(decode)。而RNN-CTC就将HMM的对齐工作交给了网络的output layer来实现。 在decode的部分更接近end to end 中的第二个end。 如何训练神经网络1、先别着急写代码训练神经网络前,别管代码,先从预处理数据集开始。我们先花几个小时的时间,了解数据的分布并找出其中的规律。 Andrej有一次在整理数据时发现了重复的样本,还有一次发现了图像和标签中的错误。所以先看一眼数据能避免我们走很多弯路。 由于神经网络实际上是数据集的压缩版本,因此您将能够查看网络(错误)预测并了解它们的来源。如果你的网络给你的预测看起来与你在数据中看到的内容不一致,那么就会有所收获。 一旦从数据中发现规律,可以编写一些代码对他们进行搜索、过滤、排序。把数据可视化能帮助我们发现异常值,而异常值总能揭示数据的质量或预处理中的一些错误。 2、设置端到端的训练评估框架处理完数据集,接下来就能开始训练模型了吗?并不能!下一步是建立一个完整的训练+评估框架。在这个阶段,我们选择一个简单又不至于搞砸的模型,比如线性分类器、CNN,可视化损失。 获得准确度等衡量模型的标准,用模型进行预测。这个阶段的技巧有:· 固定随机种子使用固定的随机种子,来保证运行代码两次都获得相同的结果,消除差异因素。· 简单化在此阶段不要有任何幻想,不要扩增数据。 扩增数据后面会用到,但是在这里不要使用,现在引入只会导致错误。 · 在评估中添加有效数字在绘制测试集损失时,对整个测试集进行评估,不要只绘制批次测试损失图像,然后用Tensorboard对它们进行平滑处理。· 在初始阶段验证损失函数验证函数是否从正确的损失值开始。 例如,如果正确初始化最后一层,则应在softmax初始化时测量-log(1/n_classes)。· 初始化正确初始化最后一层的权重。如果回归一些平均值为50的值,则将最终偏差初始化为50。 如果有一个比例为1:10的不平衡数据集,请设置对数的偏差,使网络预测概率在初始化时为0.1。正确设置这些可以加速模型的收敛。· 人类基线监控除人为可解释和可检查的损失之外的指标。 尽可能评估人的准确性并与之进行比较。或者对测试数据进行两次注释,并且对于每个示例,将一个注释视为预测,将第二个注释视为事实。 · 设置一个独立于输入的基线最简单的方法是将所有输入设置为零,看看模型是否学会从输入中提取任何信息。· 过拟合一个batch增加了模型的容量并验证我们可以达到的最低损失。 · 验证减少训练损失尝试稍微增加数据容量。 自然语言处理和文本挖掘的关系自然语言处理(NLP)关注的是人类的自然语言与计算机设备之间的相互关系。NLP是计算机语言学的重要方面之一,它同样也属于计算机科学和人工智能领域。 而文本挖掘和NLP的存在领域类似,它关注的是识别文本数据中有趣并且重要的模式。但是,这二者仍有不同。 首先,这两个概念并没有明确的界定(就像“数据挖掘”和“数据科学”一样),并且在不同程度上二者相互交叉,具体要看与你交谈的对象是谁。我认为通过洞见级别来区分是最容易的。 如果原始文本是数据,那么文本挖掘就是信息,NLP就是知识,也就是语法和语义的关系。虽然NLP和文本挖掘不是一回事儿,但它们仍是紧密相关的:它们处理同样的原始数据类型、在使用时还有很多交叉。 我们的目的并不是二者绝对或相对的定义,重要的是要认识到,这两种任务下对数据的预处理是相同的。努力消除歧义是文本预处理很重要的一个方面,我们希望保留原本的含义,同时消除噪音。 以下就是处理文本任务的几大主要步骤:1.数据收集获取或创建语料库,来源可以是邮箱、英文维基百科文章或者公司财报,甚至是莎士比亚的作品等等任何资料。 2.数据预处理在原始文本语料上进行预处理,为文本挖掘或NLP任务做准备数据预处理分为好几步,其中有些步骤可能适用于给定的任务,也可能不适用。但通常都是标记化、归一化和替代的其中一种。 3.数据挖掘和可视化无论我们的数据类型是什么,挖掘和可视化是探寻规律的重要步骤常见任务可能包括可视化字数和分布,生成wordclouds并进行距离测量4.模型搭建这是文本挖掘和NLP任务进行的主要部分,包括训练和测试在适当的时候还会进行特征选择和工程设计语言模型:有限状态机、马尔可夫模型、词义的向量空间建模机器学习分类器:朴素贝叶斯、逻辑回归、决策树、支持向量机、神经网络序列模型:隐藏马尔可夫模型、循环神经网络(RNN)、长短期记忆神经网络(LSTMs)5.模型评估模型是否达到预期? 度量标准将随文本挖掘或NLP任务的类型而变化以上观点仅供参考,而在自然语言文本预处理方面的技术在国内效果比较好的并不多,具有代表性的如:北理工张华平博士的NLPIR大数据语义智能分析技术。 NLPIR大数据语义智能分析平台是根据中文数据挖掘的综合需求,融合了网络精准采集、自然语言理解、文本挖掘和语义搜索的研究成果,并针对互联网内容处理的全技术链条的共享开发平台。如果感兴。 Matlab问题 神经网络中将所有向量都量化到[-1,1]的范围内是哪种数据预处理方法?premnmx 是matlab神经网络工具箱里专门将原始数据归一化到[-1,1]之间的命令这个在网页上很容易得到验证它的具体做法是:2*(p-pmin)/(pmax-pmin)-1p是原始数据,pmax,pmin分别是原始数据的最大值和最小值具体原理我不知道,但我知道这个公式就是matlab神经网络工具箱里使用的,将原始数据归一化到[-1,1]之间的专有命令。 cnn全称是什么?CNN的全称是Convolutional Neural Network,是一种前馈神经网络。由一个或多个卷积层、池化层以及顶部的全连接层组成,在图像处理领域表现出色。 本文主要讲解CNN如何在自然语言处理方面的运用。 卷积神经网络主要用于提取卷积对象的局部特征,当卷积对象是自然语言文本时,比如一个句子,此时其局部特征是特定的关键词或关键短语,所以利用卷积神经网络作为特征提取器时相当于词袋模型,表示一个句子中是否出现过特定的关键词或关键短语。 用在分类任务上,相当于提取出对于分类最有用的特征信息。 cnn简介:现在,CNN已经成为众多科学领域的研究热点之一,特别是在模式分类领域,由于该网络避免了对图像的复杂前期预处理,可以直接输入原始图像,因而得到了更为广泛的应用。 在图像处理中,往往把图像表示为像素的向量,比如一个1000×1000的图像,可以表示为一个1000000的向量。在上一节中提到的神经网络中,如果隐含层数目与输入层一样,即也是1000000时。 以上内容参考:百度百科-卷积神经网络。 在用bp神经网络时,需要输入数据,但有些数据是定性数据,如何将定性数据定量化你所说的应该是输入数据的预处理 即pre-processing,你使用ST Nueral Networks的话,里面有自动的预处理,你输入定性数据(nominal variable)后,软件可以自动预处理后转化为神经网络可以识别的数值. 或者你自己设置 例1 根据年鉴记载的某些地区经度,纬度与台风类型的关系预测任意经纬度下台风类型(台风A或者台风B),台风类型就属于定性数据在STNN中你可以现将输出变量设置为nominal variable,然后设置输出变量的数目为2,分别是V1和V2,构建网络的时候经纬度对应台风A的,设置输出值为V1,为台风B的设置为V2,预测时,网络可以给出结果V1或者V2,你就知道是哪种台风了. 例2 根据现有的水质标准以及数种污染物的采样值预测该河流的水质级别输出值为水质级别,同样为nominal variable,你可以将输出值作一个标准化处理,设总共有五个水质级别,你可以将输出变量区间化分为0-0.2,0.2-0.4,0.4-0.6,0.6-0.8,0.8-1,设置第一级别水质对应的输出值为0.2 第2级水质对应0.4,等等,第5级水质对应1。 ? |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/25 20:20:31- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |