【数据分析】从零开始带你了解商业数据分析模型——深度学习之多层感知器(上)

简介: 深度学习可以看作是机器学习领域中的一个前沿分支。现如今,深度学习在图像处理、自然语言处理、搜索技术、数据挖掘等领域都取得了不菲的成果。

01 摘要

深度学习可以看作是机器学习领域中的一个前沿分支。现如今,深度学习在图像处理、自然语言处理、搜索技术、数据挖掘等领域都取得了不菲的成果。

简单来说,目前几乎所有的深度学习模型都可以用下图的模式总结。模型的最前面一层是输入层,代表了模型的输入(自变量)数据。模式的最后是一个输出层,代表了模型的输出(因变量)数据。中间包含一个或多个隐藏层,代表了模型中间训练过程的每一步的逐步结果。
微信图片_20200813095837.jpg

笔者根据实用案例,粗略的将深度学习分为五类:

前馈网络:最简单,也是目前应用最广泛的一种人工神经网络,常见于面部识别案例;

RBF网络:一种三层的神经网络,常用于电力恢复系统领域;

多层感知器:前馈网络的一种,隐藏层可包含多层网络,常用于多种机器学习案例;

卷积网络:常用于图像处理和模式识别;

循环网络:常用于自然语言处理。

本篇我们将主要讨论多层感知器的相关细节。后续我们也会陆续推出卷积网络,循环网络等相关文章,欢迎持续关注Altair微信公众号(AltairChina)。

02 必要的前情介绍

2.1深度学习伊始

深度学习的模型框架其实要归结到人脑的决策过程。

人在做决策的时候,从外界接收到的影像,声音或触感等信息,通常会被转换成生物电的形式,流入不同的神经元,经过不同神经元的处理后,会有相应的生物电产生并流出当前的神经元,然后再准备流入下一个神经元。经过若干次处理后,最后的生物电会抵达大脑皮层,人也在那个时候做出相应的决策。

通过模拟人脑的运作机制,研究人员探索出了现如今这套深度学习的模型架构。
微信图片_20200813095841.jpg

2.2什么是感知机

多层感知器中最重要的组成元素就是单层感知机。简单来说,单层感知机就是一次线性权重相加和一次非线性分类

如下图所示,我们将输入自变量数据x1, x2,…,xn 通过一定的权重相加,随后将对应的计算值带入一个非线性分类的计算中,最终我们可以得到一个因变量的相应取值。这里的非线性分类计算有个专有称呼,叫做激活函数

微信图片_20200813095850.jpg

读到这里,大家是不是回想到了上两篇文章。没错,线性权重相加其实就很类似于线性回归,而非线性分类则相似于逻辑回归。

简单来说,多层感知器就是多个单层感知机叠加在一起的深度学习模型,每一层运算的输出值都会作为下一层运算的输入值。而训练多层感知器的实质其实就是找到每一层最适当的权重占比,激活函数和神经元个数的过程。

2.3随机梯度下降

当我们需要优化一个函数时,或者说我们需要找到某个函数的最大/小值时,我们通常会用到随机梯度下降这个方法。

在机器学习领域中,待优化的函数我们称为损失函数。损失函数是用来估量模型预测值和真实值之间不一样程度的非负值函数。该函数通常与模型的参数息息相关。

如下图例子所示,我们假设模型的只包含两个参数θ=(θ1,θ2)。在一个三维空间中,模型的损失函数L(θ)可以视为随θ值变化而变化的曲面。我们的目标是一步步调整参数θ的取值,使得我们的损失函数达到最小值

为达到最优值,随机梯度下降方法遵循了下面的步骤:

随机初始化或自定义初始参数值,得出起始模型

进入循环:

随机抽取若干输入值样本,基于损失函数计算梯度

根据下图迭代规则更新参数值

重复步骤,直至停止条件满足
微信图片_20200813095854.jpg

这里的α,也叫做学习率。它调控着每一次参数更新中的步长。能否找到一个合适的学习率决定了当前神经网络收敛速度的快慢以及该模型能否收敛到局部最小值

03 多层感知器

3.1预设模型

接下来,我们将通过一个三层感知器的案例来详细了解多层感知器的建模过程。如下图所示:
微信图片_20200813095856.jpg

输入层是模型的输入数据,用x来表示;

中间是四层隐藏层,其中的:

线性权重相加分别由g1,g2,w1,w2表示其权重;

激活函数用f来表示;这里需要注意的是,每一层的激活函数都可以是不相同的,但是为了演示,这个例子中的激活函数都是一样的;

中间的三层步骤结果由a1,a2,a3来分别表示;

输出层则为模型的预测结果,由ŷ来表示。

模型的最后是真实结果,由y来表示。整个模型训练的过程就是,我们通过调节各个权重g1,g2,w1,w2以及各个激活函数f,来使得模型的预测结果ŷ能够尽可能的接近真实结果y

这里我们需要注意的是,模型的训练一般是从前往后的,即我们从x到a1,到a2,再一直到ŷ。而参数的优化则是从后往前的,既我们先调节w2,再调节w1,再g2,最后是g1。

3.2权重调节的数学细节

将上面的预设模型,用公式的方法抽象出来的话,我们可以得到以下几行模型训练公式:

a1 = f(g1(x))

a2 = f(g2(a1))

a3 = f(w1(a2))

ŷ = f(w2(a3))

我们选取一种较常见的目标函数作为损失函数:
微信图片_20200813095858.png

随后,我们就可以根据2.3章节中提到的随机梯度下降方法优化调节我们的四个权重参数了。

我们从w2开始,根据微积分中的链式法则,我们可以知道:
微信图片_20200813095901.png

随后,根据不同模型预先设定好的,不同激活函数与权重相加公式,我们可以分别求出

微信图片_20200813095904.png


微信图片_20200813095908.png

的相关公式。

最后,我们将得到梯度结果
微信图片_20200813095911.png

重新带入回参数更新公式中:

微信图片_20200813095913.png

我们便完成了一次w2权重的更新。

我们随后再更新w1,根据链式法则,我们可以得出:
微信图片_20200813095916.png

以及相应的参数更新公式:

微信图片_20200813095918.png

类似的,我们接下来继续更新g2与给g1。

当四个的权重参数都更新过一次之后,我们就完成了一次循环的参数更新

通常来说,一个深度学习模型都会跑成百上千次的循环或者是参数达成收敛条件。

因为深度学习的数据量和计算复杂度的原因,每一次循环都会花费不少的计算时间和资源。所以如何优化一个深度学习模型变得极为重要

相关文章
|
3天前
|
机器学习/深度学习 人工智能 算法框架/工具
使用Python实现深度学习模型:智能家电控制与优化
使用Python实现深度学习模型:智能家电控制与优化
47 22
使用Python实现深度学习模型:智能家电控制与优化
|
1天前
|
机器学习/深度学习 数据挖掘 大数据
大数据时代的“淘金术”:Python数据分析+深度学习框架实战指南
在大数据时代,数据被视为新财富源泉,而从海量信息中提取价值成为企业竞争的核心。本文通过对比方式探讨如何运用Python数据分析与深度学习框架实现这一目标。Python凭借其强大的数据处理能力及丰富库支持,已成为数据科学家首选工具;而TensorFlow和PyTorch等深度学习框架则为复杂模型构建提供强有力的技术支撑。通过融合Python数据分析与深度学习技术,我们能在各领域中发掘数据的无限潜力。无论是商业分析还是医疗健康,掌握这些技能都将为企业和社会带来巨大价值。
19 6
|
5天前
|
机器学习/深度学习 存储 自然语言处理
深度学习中的模型压缩技术:从理论到实践
本文深入探讨了深度学习领域中的模型压缩技术,包括权重剪枝、量化、知识蒸馏和轻量级模型设计。通过对比实验结果,展示了这些技术在保持模型精度的同时,显著降低计算资源和存储需求。
|
4天前
|
机器学习/深度学习 自动驾驶 搜索推荐
深度学习之探索神经网络、感知器与损失函数
在当今的数字化时代,深度学习作为一种强大的机器学习技术,正在迅速改变着我们的生活方式。无论是智能推荐系统、自动驾驶车辆还是语音识别应用,深度学习都在背后默默地发挥作用。
13 1
|
4天前
|
机器学习/深度学习 数据可视化 算法框架/工具
使用Python实现深度学习模型:智能家庭安防系统
使用Python实现深度学习模型:智能家庭安防系统
18 1
|
5天前
|
机器学习/深度学习 数据可视化 搜索推荐
使用Python实现深度学习模型:智能睡眠监测与分析
使用Python实现深度学习模型:智能睡眠监测与分析
27 2
|
6天前
|
机器学习/深度学习 搜索推荐 TensorFlow
使用Python实现深度学习模型:智能饮食建议与营养分析
使用Python实现深度学习模型:智能饮食建议与营养分析
30 3
|
7天前
|
机器学习/深度学习 编解码 文件存储
深度学习中的模型压缩技术:从理论到实践
本文旨在探讨深度学习领域中的模型压缩技术,包括其背后的理论基础、常见方法以及在实际场景中的应用。我们将从基本的量化和剪枝技术开始,逐步深入到更高级的知识蒸馏和模型架构搜索。通过具体案例分析,本文将展示这些技术如何有效减少模型的大小与计算量,同时保持甚至提升模型的性能。最后,我们将讨论模型压缩技术未来的发展方向及其潜在影响。
|
7天前
|
机器学习/深度学习 自然语言处理 算法
深度学习中的模型压缩技术:从理论到实践
随着深度学习技术的迅速发展,复杂的神经网络模型在许多任务中取得了显著成果。然而,这些模型通常参数量大,计算复杂度高,难以部署到资源受限的设备上。为了解决这个问题,模型压缩技术应运而生。本文将探讨几种主流的模型压缩方法,包括权重剪枝、量化和知识蒸馏,介绍其基本原理、实现步骤以及在实际应用中的效果。通过具体案例分析,我们将展示如何有效地使用这些技术来减少模型的大小和计算需求,同时保持甚至提升模型的性能。最后,我们将讨论当前模型压缩技术面临的挑战和未来的发展方向。
|
1天前
|
机器学习/深度学习 数据挖掘 TensorFlow
解锁Python数据分析新技能,TensorFlow&PyTorch双引擎驱动深度学习实战盛宴
在数据驱动时代,Python凭借简洁的语法和强大的库支持,成为数据分析与机器学习的首选语言。Pandas和NumPy是Python数据分析的基础,前者提供高效的数据处理工具,后者则支持科学计算。TensorFlow与PyTorch作为深度学习领域的两大框架,助力数据科学家构建复杂神经网络,挖掘数据深层价值。通过Python打下的坚实基础,结合TensorFlow和PyTorch的强大功能,我们能在数据科学领域探索无限可能,解决复杂问题并推动科研进步。
11 0