共计 4769 个字符,预计需要花费 12 分钟才能阅读完成。
全文链接:http://tecdat.cn/?p=18149
最近咱们被客户要求撰写对于 CNN(卷积神经网络)的钻研报告,包含一些图形和统计输入。
无人驾驶汽车最早能够追溯到 1989 年。神经网络曾经存在很长时间了,那么近年来引发人工智能和深度学习热潮的起因是什么呢?
答案局部在于摩尔定律以及硬件和计算能力的显著进步。咱们当初能够事倍功半。顾名思义,神经网络的概念是受咱们本人大脑神经元网络的启发。神经元是十分长的细胞,每个细胞都有称为树突的突起,别离从四周的神经元接管和流传电化学信号。后果,咱们的脑细胞造成了灵便弱小的通信网络,这种相似于装配线的调配过程反对简单的认知能力,例如音乐播放和绘画。
神经网络构造
神经网络通常蕴含一个输出层,一个或多个暗藏层以及一个输入层。输出层由 p 个预测变量或输出单位 / 节点组成。不用说,通常最好将变量标准化。这些输出单元能够连贯到第一暗藏层中的一个或多个暗藏单元。与上一层齐全连贯的暗藏层称为密集层。在图中,两个暗藏层都是密集的。
输入层的计算预测
输入层计算预测,其中的单元数由具体的问题确定。通常,二分类问题须要一个输入单元,而具备 k 个类别的多类问题将须要 k 个对应的输入单元。前者能够简略地应用 S 形函数间接计算概率,而后者通常须要 softmax 变换,从而将所有 k 个输入单元中的所有值加起来为 1,因而能够将其视为概率。无需进行分类预测。
权重
图中显示的每个箭头都会传递与权重关联的输出。每个权重实质上是许多系数预计之一,该系数预计有助于在相应箭头指向的节点中计算出回归。这些是未知参数,必须应用优化过程由模型进行调整,以使损失函数最小化。训练之前,所有权重均应用随机值初始化。
优化和损失函数
训练之前,咱们须要做好两件事一是拟合优度的度量,用于比拟所有训练观测值的预测和已知标签;二是计算梯度降落的优化办法,本质上是同时调整所有权重估计值,以进步拟合优度的方向。对于每种办法,咱们别离具备损失函数和优化器。损失函数有很多类型,所有目标都是为了量化预测误差,例如应用穿插熵。风行的随机优化办法如 Adam。
卷积神经网络
卷积神经网络是一种非凡类型的神经网络,能够很好地用于图像处理,并以上述原理为框架。名称中的“卷积”归因于通过滤镜解决的图像中像素的正方形方块。后果,该模型能够在数学上捕捉要害的视觉提醒。例如,鸟的喙能够在动物中高度辨别鸟。在上面形容的示例中,卷积神经网络可能会沿着一系列波及卷积,池化和扁平化的变换链解决喙状构造,最初,会看到相干的神经元被激活,现实状况下会预测鸟的概率是竞争类中最大的。
能够基于色彩强度将图像示意为数值矩阵。单色图像应用 2D 卷积层进行解决,而彩色图像则须要 3D 卷积层,咱们应用前者。
核(也称为滤镜)将像素的正方形块卷积为后续卷积层中的标量, 从上到下扫描图像。
在整个过程中,核执行逐元素乘法,并将所有乘积求和为一个值,该值传递给后续的卷积层。
内核一次挪动一个像素。这是内核用来进行卷积的滑动窗口的步长,逐渐调整。较大的步长意味着更细,更小的卷积特色。
池化是从卷积层进行的采样,可在较低维度上出现次要特色,从而避免适度拟合并加重计算需要。池化的两种次要类型是均匀池化和最大池化。提供一个核和一个步长,合并就相当于卷积,但取每帧的平均值或最大值。
扁平化顾名思义,扁平只是将最初的卷积层转换为一维神经网络层。它为理论的预测奠定了根底。
R 语言实现
当咱们将 CNN(卷积神经网络)模型用于训练多维类型的数据(例如图像)时,它们十分有用。咱们还能够实现 CNN 模型进行回归数据分析。咱们之前应用 Python 进行 CNN 模型回归,在本视频中,咱们在 R 中实现雷同的办法。
咱们应用一维卷积函数来利用 CNN 模型。咱们须要 Keras R 接口能力在 R 中应用 Keras 神经网络 API。如果开发环境中不可用,则须要先装置。本教程涵盖:
- 筹备数据
- 定义和拟合模型
- 预测和可视化后果
- 源代码
咱们从加载本教程所需的库开始。
library(keras)
library(caret)
筹备
数据在本教程中,咱们将波士顿住房数据集用作指标回归数据。首先,咱们将加载数据集并将其分为训练和测试集。
set.seed(123)
boston = MASS::Boston
indexes = createDataPartition(boston$medv, p = .85, list = F)
train = boston[indexes,]
test = boston[-indexes,]
接下来,咱们将训练数据和测试数据的 x 输出和 y 输入局部离开,并将它们转换为矩阵类型。您可能晓得,“medv”是波士顿住房数据集中的 y 数据输入,它是其中的最初一列。其余列是 x 输出数据。
查看维度。
dim(xtrain)
[1] 432 13
dim(ytrain)
[1] 432 1
接下来,咱们将通过增加另一维度来从新定义 x 输出数据的形态。
dim(xtrain)
[1] 432 13 1
dim(xtest)
[1] 74 13 1
在这里,咱们能够提取 keras 模型的输出维。
print(in_dim)
[1] 13 1
定义和拟合模型
咱们定义 Keras 模型,增加一维卷积层。输出形态变为下面定义的(13,1)。咱们增加 Flatten 和 Dense 层,并应用“Adam”优化器对其进行编译。
model %>% summary()
________________________________________________________________________
Layer (type) Output Shape Param #
========================================================================
conv1d_2 (Conv1D) (None, 12, 64) 192
________________________________________________________________________
flatten_2 (Flatten) (None, 768) 0
________________________________________________________________________
dense_3 (Dense) (None, 32) 24608
________________________________________________________________________
dense_4 (Dense) (None, 1) 33
========================================================================
Total params: 24,833
Trainable params: 24,833
Non-trainable params: 0
________________________________________________________________________
接下来,咱们将应用训练数据对模型进行拟合。
print(scores)
loss
24.20518
点击题目查阅往期内容
R 语言 KERAS 深度学习 CNN 卷积神经网络分类辨认手写数字图像数据(MNIST)
左右滑动查看更多
01
02
03
04
预测和可视化后果
当初,咱们能够应用训练的模型来预测测试数据。
predict(xtest)
咱们将通过 RMSE 指标查看预测的准确性。
cat("RMSE:", RMSE(ytest, ypred))
RMSE: 4.935908
最初,咱们将在图表中可视化后果查看误差。
x_axes = seq(1:length(ypred))
lines(x_axes, ypred, col = "red", type = "l", lwd = 2)
legend("topl
在本教程中,咱们简要学习了如何应用 R 中的 keras CNN 模型拟合和预测回归数据。
本文摘选 《 R 语言实现 CNN(卷积神经网络)模型进行回归数据分析 》,点击“ 浏览原文”获取全文残缺材料。
点击题目查阅往期内容
Python 用 LSTM 长短期记忆神经网络对不稳固降雨量工夫序列进行预测剖析
深度学习实现自编码器 Autoencoder 神经网络异样检测心电图 ECG 工夫序列 spss modeler 用决策树神经网络预测 ST 的股票
Python 中 TensorFlow 的长短期记忆神经网络 (LSTM)、指数挪动平均法预测股票市场和可视化
RNN 循环神经网络、LSTM 长短期记忆网络实现工夫序列长期利率预测
联合新冠疫情 COVID-19 股票价格预测:ARIMA,KNN 和神经网络工夫序列剖析
深度学习:Keras 应用神经网络进行简略文本分类剖析新闻组数据
用 PyTorch 机器学习神经网络分类预测银行客户散失模型
PYTHON 用 LSTM 长短期记忆神经网络的参数优化办法预测工夫序列洗发水销售数据
Python 用 Keras 神经网络序列模型回归拟合预测、准确度检查和后果可视化
R 语言深度学习卷积神经网络 (CNN)对 CIFAR 图像进行分类:训练与后果评估可视化
深度学习:Keras 应用神经网络进行简略文本分类剖析新闻组数据
Python 用 LSTM 长短期记忆神经网络对不稳固降雨量工夫序列进行预测剖析
R 语言深度学习 Keras 循环神经网络 (RNN) 模型预测多输入变量工夫序列
R 语言 KERAS 用 RNN、双向 RNNS 递归神经网络、LSTM 剖析预测温度工夫序列、IMDB 电影评分情感
Python 用 Keras 神经网络序列模型回归拟合预测、准确度检查和后果可视化 R 语言中的神经网络预测工夫序列:多层感知器(MLP)和极限学习机(ELM)数据分析报告
R 语言深度学习:用 keras 神经网络回归模型预测工夫序列数据
Matlab 用深度学习长短期记忆(LSTM)神经网络对文本数据进行分类
R 语言 KERAS 深度学习 CNN 卷积神经网络分类辨认手写数字图像数据(MNIST)
MATLAB 中用 BP 神经网络预测人体脂肪百分比数据
Python 中用 PyTorch 机器学习神经网络分类预测银行客户散失模型
R 语言实现 CNN(卷积神经网络)模型进行回归数据分析
SAS 应用鸢尾花 (iris) 数据集训练人工神经网络 (ANN) 模型
【视频】R 语言实现 CNN(卷积神经网络)模型进行回归数据分析
Python 应用神经网络进行简略文本分类
R 语言用神经网络改良 Nelson-Siegel 模型拟合收益率曲线剖析
R 语言基于递归神经网络 RNN 的温度工夫序列预测
R 语言神经网络模型预测车辆数量工夫序列
R 语言中的 BP 神经网络模型剖析学生问题
matlab 应用长短期记忆(LSTM)神经网络对序列数据进行分类
R 语言实现拟合神经网络预测和后果可视化
用 R 语言实现神经网络预测股票实例
应用 PYTHON 中 KERAS 的 LSTM 递归神经网络进行工夫序列预测
python 用于 NLP 的 seq2seq 模型实例: 用 Keras 实现神经网络机器翻译
用于 NLP 的 Python:应用 Keras 的多标签文本 LSTM 神经网络分类