0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

关于深度学习被滥用的调查浅析

新机器视觉 来源:InfoQ 中文站 作者:Michael Grogan 2021-04-26 14:23 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

在某些情况下,神经网络之类模型的表现可能会胜过更简单的模型,但很多情况下事情并不是这样的。

打个比方:假设你需要购买某种交通工具来跑运输,如果你经常需要长距离运输大型物品,那么, 购买卡车是很划算的投资;但如果你只是要去本地超市买点牛奶,那么买一辆卡车就太浪费了。一辆汽车(如果你关心气候变化的话,甚至可以买一辆自行车)也足以完成上述任务。

深度学习的使用场景也开始遇到这种问题了:我们假设它们的性能优于简单模型,然后把相关数据一股脑儿地塞给它们。此外,我们在应用这些模型时往往并没有对相关数据有适当的理解;比如说我们没有意识到,如果对数据有直观的了解,就不必进行深度学习。

任何模型被装在黑匣子里来分析数据时,总是会存在危险,深度学习家族的模型也不例外。

时间序列分析我最常用的是时间序列分析,因此我们来考虑一个这方面的例子。

假设一家酒店希望预测其在整个客户群中收取的平均每日费用(或每天的平均费用)——ADR。每位客户的平均每日费用是每周开销的平均值。

LSTM 模型的配置如下:

model = tf.keras.Sequential()

model.add(LSTM(4, input_shape=(1, lookback)))

model.add(Dense(1))

model.compile(loss=‘mean_squared_error’, optimizer=‘adam’)

history=model.fit(X_train, Y_train, validation_split=0.2, epochs=100, batch_size=1, verbose=2)

下面是预测与实际的每周 ADR:

2ada365c-a648-11eb-aece-12bb97331649.jpg

获得的 RMSE 为 31,均值 160。RMSE(均方根误差)的大小是平均 ADR 大小的 20%。误差并不算高,但不得不承认,神经网络的目的是尽可能获得比其他模型更高的准确度,所以这个结果还是有些令人失望。

此外,这个 LSTM 模型是一个一步预测——意味着如果没有可用的时间 t 之前的所有数据,该模型就无法进行长期预测。

也就是说,我们是不是太急着对数据应用 LSTM 模型了呢?

我们先回到出发点,首先对数据做一个全面的分析。

下面是 ADR 波动的 7 周移动平均值:

2b066ee8-a648-11eb-aece-12bb97331649.jpg

当数据通过 7 周的移动平均值进行平滑处理后,我们可以清楚地看到季节性模式的证据。

我们来仔细看看数据的自相关函数。

2b3c6f7a-a648-11eb-aece-12bb97331649.jpg

我们可以看到,峰值相关性(在一系列负相关性之后)滞后 52,表明数据中存在年度季节属性。

有了这一信息后,我们可以使用 pmdarima 配置 ARIMA 模型来预测 ADR 波动的最后 15 周,并自动选择 p、d、q 坐标以最小化赤池量信息准则。

》》》 Arima_model=pm.auto_arima(train_df, start_p=0, start_q=0, max_p=10, max_q=10, start_P=0, start_Q=0, max_P=10, max_Q=10, m=52, stepwise=True, seasonal=True, information_criterion=‘aic’, trace=True, d=1, D=1, error_action=‘warn’, suppress_warnings=True, random_state = 20, n_fits=30)Performing stepwise search to minimize aic

ARIMA(0,1,0)(0,1,0)[52] : AIC=422.399, Time=0.27 sec

ARIMA(1,1,0)(1,1,0)[52] : AIC=inf, Time=16.12 sec

ARIMA(0,1,1)(0,1,1)[52] : AIC=inf, Time=19.08 sec

ARIMA(0,1,0)(1,1,0)[52] : AIC=inf, Time=14.55 sec

ARIMA(0,1,0)(0,1,1)[52] : AIC=inf, Time=11.94 sec

ARIMA(0,1,0)(1,1,1)[52] : AIC=inf, Time=16.47 sec

ARIMA(1,1,0)(0,1,0)[52] : AIC=414.708, Time=0.56 sec

ARIMA(1,1,0)(0,1,1)[52] : AIC=inf, Time=15.98 sec

ARIMA(1,1,0)(1,1,1)[52] : AIC=inf, Time=20.41 sec

ARIMA(2,1,0)(0,1,0)[52] : AIC=413.878, Time=1.01 sec

ARIMA(2,1,0)(1,1,0)[52] : AIC=inf, Time=22.19 sec

ARIMA(2,1,0)(0,1,1)[52] : AIC=inf, Time=25.80 sec

ARIMA(2,1,0)(1,1,1)[52] : AIC=inf, Time=28.23 sec

ARIMA(3,1,0)(0,1,0)[52] : AIC=414.514, Time=1.13 sec

ARIMA(2,1,1)(0,1,0)[52] : AIC=415.165, Time=2.18 sec

ARIMA(1,1,1)(0,1,0)[52] : AIC=413.365, Time=1.11 sec

ARIMA(1,1,1)(1,1,0)[52] : AIC=415.351, Time=24.93 sec

ARIMA(1,1,1)(0,1,1)[52] : AIC=inf, Time=21.92 sec

ARIMA(1,1,1)(1,1,1)[52] : AIC=inf, Time=30.36 sec

ARIMA(0,1,1)(0,1,0)[52] : AIC=411.433, Time=0.59 sec

ARIMA(0,1,1)(1,1,0)[52] : AIC=413.422, Time=11.57 sec

ARIMA(0,1,1)(1,1,1)[52] : AIC=inf, Time=23.39 sec

ARIMA(0,1,2)(0,1,0)[52] : AIC=413.343, Time=0.82 sec

ARIMA(1,1,2)(0,1,0)[52] : AIC=415.196, Time=1.63 sec

ARIMA(0,1,1)(0,1,0)[52] intercept : AIC=413.377, Time=1.04 sec

Best model: ARIMA(0,1,1)(0,1,0)[52]

Total fit time: 313.326 seconds

根据上面的输出,ARIMA(0,1,1)(0,1,0)[52] 是 AIC 的最佳拟合模型。使用这个模型,对于 160 的平均 ADR,可获得 10 的 RMSE。

这比 LSTM 实现的 RMSE 要低得多(这是一件好事),仅占均值大小的 6%多。

对数据进行适当的分析后,人们会认识到,数据中存在的年度季节属性可以让时间序列更具可预测性,而使用深度学习模型来尝试预测这种属性在很大程度上是多余的。

回归分析:预测客户 ADR 值我们换个角度来讨论上述问题。

现在我们不再尝试预测平均每周 ADR,而是尝试预测每个客户的 ADR 值。

为此我们使用两个基于回归的模型:

线性 SVM(支持向量机)

基于回归的神经网络

两种模型均使用以下特征来预测每个客户的 ADR 值:

IsCanceled:客户是否取消预订

country:客户的原籍国

marketsegment:客户的细分市场

deposittype:客户是否已支付订金

customertype:客户类型

rcps:所需的停车位

arrivaldateweekno:到达的星期数

我们使用平均绝对误差作为效果指标,来对比两个模型相对于平均值获得的 MAE。

线性支持向量机这里定义了 epsilon 为 0.5 的 LinearSVR,并使用训练数据进行了训练:

svm_reg_05 = LinearSVR(epsilon=0.5)

svm_reg_05.fit(X_train, y_train)

现在使用测试集中的特征值进行预测:

》》》 svm_reg_05.predict(atest)array([ 81.7431138 , 107.46098525, 107.46098525, 。.., 94.50144931,

94.202052 , 94.50144931])

这是相对于均值的均值绝对误差:

》》》 mean_absolute_error(btest, bpred)

30.332614341027753》》》 np.mean(btest)

105.30446539770578

MAE 是均值大小的 28%。让我们看看基于回归的神经网络是否可以做得更好。

基于回归的神经网络神经网络的定义如下:

model = Sequential()

model.add(Dense(8, input_dim=8, kernel_initializer=‘normal’, activation=‘elu’))

model.add(Dense(2670, activation=‘elu’))

model.add(Dense(1, activation=‘linear’))

model.summary()

使用的批大小是 150,用 30 个 epoch 训练模型:

model.compile(loss=‘mse’, optimizer=‘adam’, metrics=[‘mse’,‘mae’])

history=model.fit(xtrain_scale, ytrain_scale, epochs=30, batch_size=150, verbose=1, validation_split=0.2)

predictions = model.predict(xval_scale)

现在将测试集的特征输入到模型中,以下是 MAE 和平均值:

》》》 mean_absolute_error(btest, bpred)

28.908454264679218》》》 np.mean(btest)

105.30446539770578

我们看到,MAE 仅仅比使用 SVM 所获得的 MAE 低一点。因此,当线性 SVM 模型显示出几乎相同的准确度时,很难证明使用神经网络来预测客户 ADR 是合适的选项。

无论如何,用于“解释”ADR 的特征选择之类的因素比模型本身有着更大的相关性。俗话说,“进垃圾,出垃圾”。如果特征选取很烂,模型输出也会很差。

在上面这个例子里,尽管两个回归模型都显示出一定程度的预测能力,但很可能要么 1)选择数据集中的其他特征可以进一步提高准确性,要么 2)ADR 的变量太多,对数据集中特征的影响太大。例如,数据集没有告诉我们关于每个客户收入水平的任何信息,这些因素将极大地影响他们每天的平均支出。

结论

在上面的两个示例中我们已经看到,使用“更轻”的模型已经能够匹配(或超过)深度学习模型所实现的准确性。

在某些情况下,数据可能非常复杂,需要“从头开始”在数据中使用算法学习模式,但这往往是例外,而不是规则。

对于任何数据科学问题,关键是首先要了解我们正在使用的数据,模型的选择往往是次要的。

可以在此处找到上述示例的数据集和 Jupyter 笔记本。
编辑:lyn

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 神经网络
    +关注

    关注

    42

    文章

    4842

    浏览量

    108178
  • 深度学习
    +关注

    关注

    73

    文章

    5608

    浏览量

    124635

原文标题:深度学习正在被滥用

文章出处:【微信号:vision263com,微信公众号:新机器视觉】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    突发!大疆遭调查

    电子发烧友网报道(文/李弯弯)10月31日,意大利反垄断监管机构AGCM对中国无人机制造商大疆创新的欧洲子公司及其意大利进口商展开调查。此次调查源于大疆指施压零售商并操控产品价格。 AGCM收到
    的头像 发表于 11-01 08:17 1.3w次阅读

    人工智能-Python深度学习进阶与应用技术:工程师高培解读

    深度学习的工程化落地,早已不是纸上谈兵的事。从卷积神经网络到Transformer,从目标检测到大模型私有化部署,技术栈不断延伸,工程师面临的知识体系也越来越庞杂。现根据中际赛威工程师培训老师的一份
    的头像 发表于 04-21 11:01 318次阅读
    人工智能-Python<b class='flag-5'>深度</b><b class='flag-5'>学习</b>进阶与应用技术:工程师高培解读

    深度学习驱动的超构表面设计进展及其在全息成像中的应用

    可实现高质量图像的获取。基于神经网络深度学习方法进行超构表面设计的文章数量日益增多,但关于该主题的综述仍较为匮乏。据麦姆斯咨询报道,近期,中国计量大学田颖教授等人
    的头像 发表于 04-09 13:55 137次阅读
    <b class='flag-5'>深度</b><b class='flag-5'>学习</b>驱动的超构表面设计进展及其在全息成像中的应用

    机器学习深度学习中需避免的 7 个常见错误与局限性

    无论你是刚入门还是已经从事人工智能模型相关工作一段时间,机器学习深度学习中都存在一些我们需要时刻关注并铭记的常见错误。如果对这些错误置之不理,日后可能会引发诸多麻烦!只要我们密切关注数据、模型架构
    的头像 发表于 01-07 15:37 350次阅读
    机器<b class='flag-5'>学习</b>和<b class='flag-5'>深度</b><b class='flag-5'>学习</b>中需避免的 7 个常见错误与局限性

    穿孔机顶头检测仪 机器视觉深度学习

    LX01Z-DG626穿孔机顶头检测仪采用深度学习技术,能够实现顶头状态的在线实时检测,顶头丢失报警,顶头异常状态报警等功能,响应迅速,异常状态视频回溯,检测顶头温度,配备吹扫清洁系统,维护周期长
    发表于 12-22 14:33

    如何深度学习机器视觉的应用场景

    深度学习视觉应用场景大全 工业制造领域 复杂缺陷检测:处理传统算法难以描述的非标准化缺陷模式 非标产品分类:对形状、颜色、纹理多变的产品进行智能分类 外观质量评估:基于学习的外观质量标准判定 精密
    的头像 发表于 11-27 10:19 332次阅读

    高通立案调查 高通罚款金额或达17.9亿美元 高通回应正积极配合有关调查

    据央视新闻报道美国芯片巨头高通中方立案调查,原因是高通在收购以色列芯片企业Autotalks时未依法申报经营者集中,这涉嫌违反了《中华人民共和国反垄断法》,市场监管总局依法对高通公司开展立案调查
    的头像 发表于 10-11 11:11 1060次阅读

    高通立案调查 美国芯片巨头高通中方立案调查

    据央视新闻报道美国芯片巨头高通中方立案调查,原因是高通在收购以色列芯片企业Autotalks时未依法申报经营者集中,这涉嫌违反了《中华人民共和国反垄断法》,市场监管总局依法对高通公司开展立案调查
    的头像 发表于 10-10 17:49 1045次阅读

    如何在机器视觉中部署深度学习神经网络

    图 1:基于深度学习的目标检测可定位已训练的目标类别,并通过矩形框(边界框)对其进行标识。 在讨论人工智能(AI)或深度学习时,经常会出现“神经网络”、“黑箱”、“标注”等术语。这些概
    的头像 发表于 09-10 17:38 1051次阅读
    如何在机器视觉中部署<b class='flag-5'>深度</b><b class='flag-5'>学习</b>神经网络

    深度学习对工业物联网有哪些帮助

    深度学习作为人工智能的核心分支,通过模拟人脑神经网络的层级结构,能够自动从海量工业数据中提取复杂特征,为工业物联网(IIoT)提供了从数据感知到智能决策的全链路升级能力。以下从技术赋能、场景突破
    的头像 发表于 08-20 14:56 1211次阅读

    自动驾驶中Transformer大模型会取代深度学习吗?

    [首发于智驾最前沿微信公众号]近年来,随着ChatGPT、Claude、文心一言等大语言模型在生成文本、对话交互等领域的惊艳表现,“Transformer架构是否正在取代传统深度学习”这一话题一直
    的头像 发表于 08-13 09:15 4367次阅读
    自动驾驶中Transformer大模型会取代<b class='flag-5'>深度</b><b class='flag-5'>学习</b>吗?

    深度学习遇上嵌入式资源困境,特征空间如何破局?

    近年来,随着人工智能(AI)技术的迅猛发展,深度学习(Deep Learning)成为最热门的研究领域之一。在语音识别、图像识别、自然语言处理等领域,深度学习取得了显著成果。从原理上看
    发表于 07-14 14:50 1323次阅读
    当<b class='flag-5'>深度</b><b class='flag-5'>学习</b>遇上嵌入式资源困境,特征空间如何破局?

    同步电机失步浅析

    纯分享帖,需要者可点击附件免费获取完整资料~~~*附件:同步电机失步浅析.pdf【免责声明】本文系网络转载,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请第一时间告知,删除内容!
    发表于 06-20 17:42