生命在于学习——Python人工智能原理(3.3)

2024-06-13 16:52

本文主要是介绍生命在于学习——Python人工智能原理(3.3),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在这里插入图片描述

三、深度学习

4、激活函数

激活函数的主要作用是对神经元获得的输入进行非线性变换,以此反映神经元的非线性特性。常见的激活函数有线性激活函数、符号激活函数、Sigmod激活函数、双曲正切激活函数、高斯激活函数、ReLU激活函数

(1)线性激活函数

F(x)=kx+c,其中k和c是常量、线性函数常用在线性神经网络中。

(2)符号激活函数

在这里插入图片描述

(3)Sigmod激活函数

Sigmod函数又称为S形函数,是最为常见的激活函数:
在这里插入图片描述其图像如下
在这里插入图片描述

(4)双曲正切激活函数

在这里插入图片描述

图像如下所示:
在这里插入图片描述

(5)高斯激活函数

在这里插入图片描述

(6)ReLU激活函数

在这里插入图片描述

也可以表示为F(x)=max(0,x),图像如下图所示:

在这里插入图片描述
在神经网络中,ReLU激活函数得到广泛应用,尤其在卷积神经网络中,往往不选择Sigmod或Tanh而选择ReLU,原因主要有以下几点:
a、Sigmod函数求导涉及指数,计算复杂,ReLU代价小,计算速度快。
b、Sigmod函数导数最大值为1/4,链式求导会导致梯度越来越小,训练深度神经网络容易导致梯度消失,但是ReLU函数的导数为1,不会出现梯度消失。
c、有研究表明,人脑在工作时大概只有5%的神经元被激活,而Sigmod函数激活比例是50%,人工神经网络理想状态下激活率为15%-30%,ReLU函数在小于0时完全不激活,可以适应理想网络的激活率要求。

5、梯度下降法

梯度下降法是神经网络模型训练中最常用的优化算法之一,将其应用于寻找损失函数或代价函数的极值点。
常见的梯度下降法有批量下降法、随机梯度下降法和小批量梯度下降法,一般采用小批量梯度下降法。

(1)批量梯度下降法

此方法是最原始的形式,它是指在每一次迭代时使用所有样本来进行梯度的更新。
优点:
a、每次更新使用全部样本,能更准确的朝向极值所在的方向,如果目标函数是凸函数,一定能收敛到全局最小值。
b、它对梯度的无偏估计,样例越多,估计越准确。
c、以此迭代时对所有样本进行计算,可以利用向量化操作实现并行。
缺点:
a、遍历计算所有样本不仅耗时还消耗大量资源。
b、每次更新遍历所有样本,有一些样本对参数更新价值不大。
c、如果是非凸函数,可能会陷入局部最小值。
迭代曲线如下:
在这里插入图片描述

(2)随机梯度下降

每次迭代时只使用一个样本对参数进行更新。
优点:
a、每次只计算一个样本,更新速度大大加快。
b、在学习过程中加入了噪声和随机性,提高了泛化误差。
c、对于非凸函数,它的随机性有助于逃离某些不理想的局部最小值,获得全局最优解。
缺点:
a、更新所有样本需要大量时间。
b、学习过程波动较大。
迭代曲线如下:
在这里插入图片描述

6、交叉熵损失函数

神经网络中分类问题较常使用交叉熵作为损失函数,二分类问题中公式如下,y*表示为真实标签,y表示预测标签:
在这里插入图片描述

多分类问题中公式可以写成下面形式:
在这里插入图片描述

二分类的交叉熵python实现如下:
def binary_crossentropy(t,o):
#y_true是真实标签,y_pred是预测值
return -(y_true * np.log(y_pred)+(1-y_true)*np.log(1-y_pred))

这篇关于生命在于学习——Python人工智能原理(3.3)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1057876

相关文章

python实现简易SSL的项目实践

《python实现简易SSL的项目实践》本文主要介绍了python实现简易SSL的项目实践,包括CA.py、server.py和client.py三个模块,文中通过示例代码介绍的非常详细,对大家的学习... 目录运行环境运行前准备程序实现与流程说明运行截图代码CA.pyclient.pyserver.py参

使用Python实现批量分割PDF文件

《使用Python实现批量分割PDF文件》这篇文章主要为大家详细介绍了如何使用Python进行批量分割PDF文件功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录一、架构设计二、代码实现三、批量分割PDF文件四、总结本文将介绍如何使用python进js行批量分割PDF文件的方法

Python实现多路视频多窗口播放功能

《Python实现多路视频多窗口播放功能》这篇文章主要为大家详细介绍了Python实现多路视频多窗口播放功能的相关知识,文中的示例代码讲解详细,有需要的小伙伴可以跟随小编一起学习一下... 目录一、python实现多路视频播放功能二、代码实现三、打包代码实现总结一、python实现多路视频播放功能服务端开

使用Python在Excel中创建和取消数据分组

《使用Python在Excel中创建和取消数据分组》Excel中的分组是一种通过添加层级结构将相邻行或列组织在一起的功能,当分组完成后,用户可以通过折叠或展开数据组来简化数据视图,这篇博客将介绍如何使... 目录引言使用工具python在Excel中创建行和列分组Python在Excel中创建嵌套分组Pyt

Python实现视频转换为音频的方法详解

《Python实现视频转换为音频的方法详解》这篇文章主要为大家详细Python如何将视频转换为音频并将音频文件保存到特定文件夹下,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. python需求的任务2. Python代码的实现3. 代码修改的位置4. 运行结果5. 注意事项

Python利用自带模块实现屏幕像素高效操作

《Python利用自带模块实现屏幕像素高效操作》这篇文章主要为大家详细介绍了Python如何利用自带模块实现屏幕像素高效操作,文中的示例代码讲解详,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1、获取屏幕放缩比例2、获取屏幕指定坐标处像素颜色3、一个简单的使用案例4、总结1、获取屏幕放缩比例from

使用Python在Excel中插入、修改、提取和删除超链接

《使用Python在Excel中插入、修改、提取和删除超链接》超链接是Excel中的常用功能,通过点击超链接可以快速跳转到外部网站、本地文件或工作表中的特定单元格,有效提升数据访问的效率和用户体验,这... 目录引言使用工具python在Excel中插入超链接Python修改Excel中的超链接Python

10个Python自动化办公的脚本分享

《10个Python自动化办公的脚本分享》在日常办公中,我们常常会被繁琐、重复的任务占据大量时间,本文为大家分享了10个实用的Python自动化办公案例及源码,希望对大家有所帮助... 目录1. 批量处理 Excel 文件2. 自动发送邮件3. 批量重命名文件4. 数据清洗5. 生成 PPT6. 自动化测试

基于Python开发PPTX压缩工具

《基于Python开发PPTX压缩工具》在日常办公中,PPT文件往往因为图片过大而导致文件体积过大,不便于传输和存储,所以本文将使用Python开发一个PPTX压缩工具,需要的可以了解下... 目录引言全部代码环境准备代码结构代码实现运行结果引言在日常办公中,PPT文件往往因为图片过大而导致文件体积过大,

MySQL中的MVCC底层原理解读

《MySQL中的MVCC底层原理解读》本文详细介绍了MySQL中的多版本并发控制(MVCC)机制,包括版本链、ReadView以及在不同事务隔离级别下MVCC的工作原理,通过一个具体的示例演示了在可重... 目录简介ReadView版本链演示过程总结简介MVCC(Multi-Version Concurr