本博客作为神经网络与深度学习的内容与知识总结,提升神经网络与深度学习的相关使用水平,并且通过相关程序提升对于相关算法的数学认识与编程能力。
本次博客为关于神经网络与CNN的知识:
一.序列模型
在神经网络中,序列模型是一类用于处理和预测序列数据的模型,比如文本、音频、时间序列数据等。这类模型的特点是能够处理输入数据的时间动态特性,即在序列中不同时间点的数据可能互相依赖。
自回归模型是一种用于时间序列数据的统计模型,其核心思想是当前时刻的值可以表示为历史数据值的线性组合加上随机噪声。这类模型主要用于预测以及揭示数据点之间的依赖关系。
二.数据预处理
在神经网络中,特征可以分为数值特征和类别特征。
数值特征是指具有数值型数据的特征,通常表示为整数或浮点数。例如,年龄、体重、温度等。
类别特征是指具有离散取值的特征,通常表示为字符串或整数。例如,性别(男、女)、城市(纽约、洛杉矶)、产品类型(电子产品、家具)等。
神经网络中,数值特征通常直接作为输入。它们可以通过标准化或归一化来缩放到特定的范围,以便更好地进行训练。
三.文本预处理与词嵌入
文本预处理是自然语言处理中的一个重要步骤,它涉及将原始文本转换为一种格式,使机器学习模型能够更容易地理解和处理。文本预处理的目的是提高数据的质量,以便提高模型的性能。以下是文本预处理的三个关键步骤:读取数据集、词汇切分、构建词索引表。
3.1读取数据集
读取数据集通常是文本预处理的第一步。这一步骤的目的是从文件系统、数据库、网络或其他数据源中加载文本数据。数据集可能以多种形式存在,如文本文件、CSV文件、数据库中的表格或在线资源。
3.2词汇切分
词汇切分是将连续的文本字符串分割成词汇的过程。在不同的语言和应用中,分词的方法可能不同。对于英文,通常以空格和标点符号为界分割词汇。而对于汉语等没有明显单词界限的语言,分词更加复杂,通常需要借助特定的算法和工具,如结巴分词。
3.3构建词索引表
构建词索引表是将文本中的词汇映射到一个整数索引的过程。这一步是为了将文本转换为可以被机器学习算法处理的数值形式。词索引表通常是一个字典,其中的键是词汇,值是唯一的索引。
对IMDB使用上述步骤进行训练:
四.RNN模型
循环神经网络(Recurrent Neural Network, RNN)是一类用于处理序列数据的神经网络。与传统的前馈神经网络不同,RNN能够处理序列长度可变的输入数据,这使得它们非常适合处理如语言文本、时间序列数据等问题。RNN 的核心思想是利用序列之间的时间序性,对信息进行持续的传递。
在循环神经网络中,遗忘问题是指网络难以在长序列上保持对早期输入信息的记忆。这个问题主要由于梯度消失(或是梯度爆炸)引起。
为了解决遗忘问题一般可以使用LSTM、GRU等方法处理。
五.RNN误差反传
在循环神经网络(RNN)中,误差反传是用来训练网络的关键技术。RNN 特别适用于处理序列数据,如语言或时间序列数据。