当前位置: 首页 > news >正文

Datawhale X 李宏毅苹果书 AI夏令营 Task 2

课程内容


(一)术语解释

一 . Sigmoid函数与Hard Sigmoid 函数

(1)Sigmoid函数

        Sigmoid函数,也称为逻辑函数(Logistic function),是一种在数学、生物学、信息科学、神经网络等领域广泛应用的激活函数。也就是高中生物中所学的S型增长曲线。

它的数学表达式为:

\sigma (x) = \frac{1}{1+e^{-x}}

        Sigmoid函数的图像呈现出S形的曲线,其值域限定在(0, 1)之间,这使得它特别适合用于表示概率或者将任意实数映射到(0, 1)区间内。

Sigmoid函数的导数为:

\sigma '(x) = \sigma (x) (1 - \sigma(x))

        这个导数表达式的简洁性使得在神经网络的反向传播过程中计算梯度变得非常方便。Sigmoid函数的优点包括输出范围的限制、平滑性和非线性特性,这些特性有助于神经网络学习和表示复杂的非线性函数关系。

        然而,Sigmoid函数也存在一些缺点,如梯度消失问题和计算开销较大,这些缺点在深层神经网络中可能会成为训练的障碍.

(2)Hard Sigmoid 函数

        Hard Sigmoid函数是一种非线性激活函数,它是Sigmoid函数的一个近似,设计用于提供更高效的计算和更稳定的梯度。

Hard Sigmoid函数的数学表达式通常定义为:

HardSigmoid(x) = max(0,min(1, \alpha \cdot x + \beta ))

        其中,\alpha 和 \beta 是可调整的参数,常用的取值为\alpha =1/6和 \beta =1/3。这样定义的Hard Sigmoid函数在x取值在 [-3, 3] 范围内比较接近于Sigmoid函数的形状,而对于超出这个范围的输入,其输出将被限制在0和1之间。

        Hard Sigmoid函数的优点包括计算简单、效率高,以及在反向传播时计算稳定,避免了Sigmoid函数在输入绝对值较大时梯度消失的问题。此外,Hard Sigmoid函数可以增加网络的稀疏性,有助于模型的训练和优化。 

(二) 模型总结

一 . 线性模型(linear model)

把输入的特征 x 乘上一个权重,再加上一个偏置就得到预测的结果,这样的模型称为线性模型。

公式可以简化为:

y = w\cdot x + b

在本书的例子中,权重 w 与偏重 b 的关系通过梯度下降优化降低了损失。但是线性模型只能通过前一个数据向后推一个数据,这说明该模型并不准确,需要调整。

再通过优化,可以通过处理多个数据,用公式:y = \sum_{i=1}^{n} w_i \cdot x_i +b 

但是,线性模型仍会有缺陷:无法模拟出复杂数据的关系。如下图,无论蓝线如何调整,都无法得到表示实际数据的红线。

由此引出其他的数据模型。

二 . 分段线性曲线(piecewise linear curve)

        红色曲线可以看作是一个常数,再加上一堆蓝色的函数。分段线性曲线可以用常数项加一大堆的蓝色函数组合出来,只是用的蓝色函数不一定一样。要有很多不同的蓝色函数,加上一个常数以后就可以组出这些分段线性曲线。如果分段线性曲线越复杂,转折的点越多,所需的蓝色函数就越多。

 

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Keil5 Debug模式Watch窗口添加的监控变量被自动清除
  • Linux常见基础命令
  • c#笔记5 详解事件的内置类型EventHandler、windows事件在winform中的运用
  • 拼多多Temu半托管和全托管对比
  • 【机器学习】决策树------迅速了解其基本思想,Sklearn的决策树API及构建决策树的步骤!!!
  • 基于深度学习的金属锈蚀检测系统详细实施指南
  • HTML+CSS面试题总结:(第一天)
  • 【openwrt-21.02】T750 openwrt-21.02 pptp拨号失败问题分析及解决方案
  • 应对Java虚拟机(JVM)负载突然增大的全面指南
  • Stable Diffusion绘画 | 插件-宽高比调整助手:让计算器毕业
  • 密码管理最佳实践:安全存储与定期更换的艺术
  • Android系统定制--Settings
  • 将顺序表中的元素循环左移p个位置
  • 数学建模之入门篇
  • 《机器学习》数据分析之关键词提取、TF-IDF、项目实现 <下>
  • #Java异常处理
  • [数据结构]链表的实现在PHP中
  • 【个人向】《HTTP图解》阅后小结
  • 2018以太坊智能合约编程语言solidity的最佳IDEs
  • axios请求、和返回数据拦截,统一请求报错提示_012
  • Bootstrap JS插件Alert源码分析
  • Centos6.8 使用rpm安装mysql5.7
  • docker python 配置
  • ESLint简单操作
  • IDEA 插件开发入门教程
  • Java 实战开发之spring、logback配置及chrome开发神器(六)
  • scrapy学习之路4(itemloder的使用)
  • swift基础之_对象 实例方法 对象方法。
  • Vue全家桶实现一个Web App
  • 高度不固定时垂直居中
  • 基于Vue2全家桶的移动端AppDEMO实现
  • 悄悄地说一个bug
  • 如何设计一个微型分布式架构?
  • 思否第一天
  • 微信公众号开发小记——5.python微信红包
  • 职业生涯 一个六年开发经验的女程序员的心声。
  • kubernetes资源对象--ingress
  • 扩展资源服务器解决oauth2 性能瓶颈
  • ​ 全球云科技基础设施:亚马逊云科技的海外服务器网络如何演进
  • ​2021半年盘点,不想你错过的重磅新书
  • #[Composer学习笔记]Part1:安装composer并通过composer创建一个项目
  • #1014 : Trie树
  • #1015 : KMP算法
  • $NOIp2018$劝退记
  • (10)Linux冯诺依曼结构操作系统的再次理解
  • (12)目标检测_SSD基于pytorch搭建代码
  • (JS基础)String 类型
  • (附源码)ssm跨平台教学系统 毕业设计 280843
  • (五)大数据实战——使用模板虚拟机实现hadoop集群虚拟机克隆及网络相关配置
  • (一)模式识别——基于SVM的道路分割实验(附资源)
  • (轉貼)《OOD启思录》:61条面向对象设计的经验原则 (OO)
  • .axf 转化 .bin文件 的方法
  • .bat批处理(十):从路径字符串中截取盘符、文件名、后缀名等信息
  • .net core 微服务_.NET Core 3.0中用 Code-First 方式创建 gRPC 服务与客户端
  • .NET Core 中插件式开发实现