深度学习作业详解:手写sigmoid函数与向量运算
123 浏览量
更新于2024-08-29
收藏 140KB PDF 举报
"深度学习笔记第五部分,第一课第二周的作业题解析及代码实践"
这篇笔记主要涵盖了深度学习的学习过程,包括使用在线计算资源的介绍、基础的编程技巧以及sigmoid函数的实现。作者建议读者在实践中熟悉平台,并提到了两个关键点:一是使用`shift+Enter`快捷键来执行代码块;二是要确保从`import`语句开始连续运行代码,以避免因中断而导致的错误。
首先,作者引导读者进行一个简单的"HelloWorld"任务,这是为了让大家熟悉平台的操作。这个任务没有具体的技术细节,主要是让初学者适应环境。
接下来,笔记进入核心内容——手写sigmoid函数。sigmoid函数在深度学习中非常常见,它是激活函数的一种,用于神经网络的输出层或隐藏层,以引入非线性。Python的`math`库提供了`exp`函数,可以帮助我们计算指数。作者给出了以下代码:
```python
import math
def basic_sigmoid(x):
"""
计算x的sigmoid值。
参数:
x -- 一个标量
返回:
s -- sigmoid(x)
"""
s = 1 / (1 + math.exp(-x))
return s
```
这里的`basic_sigmoid`函数接收一个标量`x`,并返回其sigmoid值。`math.exp(-x)`计算`x`的负指数,然后用于sigmoid的分母。
进一步,笔记扩展到处理向量或矩阵的sigmoid函数。在这种情况下,Python的`numpy`库是非常有用的,因为它支持向量化操作。`numpy`数组可以代表一维向量、二维矩阵甚至更高维度的数据。当应用sigmoid函数于整个向量或矩阵时,`numpy`的函数会自动对每个元素进行操作,无需循环。例如:
```python
import numpy as np
# 创建两个numpy数组
x = np.array([1, 2, 3])
y = np.array([4, 5, 6])
# 加法操作
print(x + y) # 输出: [5, 7, 9]
# 数乘操作
print(2 * x) # 输出: [2, 4, 6]
# 取倒数操作
print(1 / x) # 输出: [1. 0.5 0.33333333]
```
这段代码展示了如何利用`numpy`进行向量级别的操作,包括加法、数乘和元素级的倒数。同样的,我们可以使用`numpy`的`exp`函数来计算整个向量或矩阵的指数,然后结合其他操作实现向量化的sigmoid函数。
这篇笔记通过实际的代码示例,帮助读者理解了如何在Python环境中手动实现sigmoid函数,以及如何利用`numpy`进行向量和矩阵的运算,这些都是深度学习实践中必不可少的基础技能。
260 浏览量
2025-01-06 上传
2025-01-06 上传
2025-01-06 上传
2025-01-06 上传
2025-01-06 上传
weixin_38704156
- 粉丝: 6
- 资源: 909
最新资源
- 浙江大学C++教材 非常详细
- windows组策略应用攻略
- JavaServer Faces in Action
- IBatis开发指南
- Eclipse中文教程
- 宋劲杉Linux C编程一站式学习_PDF版本——非常好的C,linux编程入门教程_2009.3.6最新版,不断更新到最新版
- verilog 入门
- 考研 自做简易倒计时器
- 往oracle数据库中,插入excel文件中的数据
- WEB标准与网站重构(PDF)
- Hibernate开发指南.pdf
- 加速度传感器 MMA7260Q
- 教你认识电子元件(有图)
- 汽车修理管理课程设计
- Grails 入门指南
- 融合粒子群优化算法与蚁群算法的随机搜索算法