Power 0 码力 |
10 页 |
610.60 KB
| 2 年前 3 0 码力 |
15 页 |
940.28 KB
| 2 年前 3 .. 62
2.4 微积分 ..... 63
2.4.1 导数和微分 ..... 64
2.4.2 偏导数 ..... 68
2.4.3 梯度 ..... 68
2.4.4 链式法则 ..... 68
2.5 自动微分 ..... 69
2.5.1 一个简单的例子 ..... 70
2.5.2 非标量变量的反向传播 ..... 71
2.5.3 分离计算 ... 009年,如果有人设计了一个很棒的算法来预测电影评分,那可能会赢得100万美元的奈飞奖 $ ^{12} $ 。再比如,预测病人在医院的住院时间也是一个回归问题。总而言之,判断回归问题的一个很好的经验法则是,任何有关“有多少”的问题很可能就是回归问题。比如:
· 这个手术需要多少小时;
·在未来6小时,这个镇会有多少降雨量。
即使你以前从未使用过机器学习,可能不在不经意间,已经解决了一些回归问 [False, False, False, False],
[False, False, False, False]])
对张量中的所有元素进行求和,会产生一个单元素张量。
X.sum()
tensor(66.)
#### 2.1.3 广播机制
在上面的部分中,我们看到了如何在相同形状的两个张量上执行按元素操作。在某些情况下,即使形状不 0 码力 |
797 页 |
29.45 MB
| 2 年前 3 参考文献
第7章 反向传播算法
7.1 导数与梯度
7.2 导数常见性质
7.3 激活函数导数
7.4 损失函数梯度
7.5 全连接层梯度
7.6 链式法则
7.7 反向传播算法
7.8 Himmelblau 函数优化实战
7.9 反向传播算法实战
7.10 参考文献
第8章 PyTorch 高级用法
8 W_{3}, b_{3}\} $ ,这些梯度会自动保存在每个张量的grad成员变量中,代码如下:loss.backward() # 反向传播,计算所有参数的梯度
再使用 optim 对象自动按照梯度更新法则去更新模型的参数 $ \theta $ 。
$$ \theta^{\prime}=\theta-\eta\cdot\frac{\partial\mathcal{L}}{\partial\theta} 35,8 $$ ,张量B保存了另一个班级的成绩册,shape为 $$ 35,8 $$ 。合并这两个班级的数据时,则需要创建一个新维度,定义为班级维度,新维度可以选择放置在任意位置,一般根据大小维度的经验法则,将较大概念的班级维度放置在学生维度之前,则合并后的张量的新shape应为 $$ 2,35,8 $$ ,其中2代表两个班级。
使用 torch.stack(tensors, dim)可以以堆叠方式合并多个张量,通过 0 码力 |
439 页 |
29.91 MB
| 2 年前 3 47 std::cout << sum << std::endl;
48 }
这个 Vector 类有哪些问题?
## 三五 法则:规则类怪谈
1. 如果一个类定义了解构函数,那么您必须同时定义或删除拷贝构造函数和拷贝赋值函数,否则出错。
2. 如果一个类定义了拷贝构造函数,那么您必须同时定义或删除拷贝赋值函数,否则出错,删除可导致低效。 如果一个类定义了移动构造函数,那么您必须同时定义或删除移动赋值函数,否则出错,删除可导致低效。
4. 如果一个类定义了拷贝构造函数或拷贝赋值函数,那么您必须最好同时定义移动构造函数或移动赋值函数,否则低效。
三五法则是前人总结的,避免犯错的经验。只告诉做什么,不告诉为什么,是不深入的。让我们通过撞南墙的方式来深入理解一下。

更多这样的前人经验可以参考:https://github.com/isocpp/CppCoreGuidelines
## 三五 法则:拷贝构造函数
• 在 = 时,默认是会拷贝的。比如右边这样:
但是这样对我们当前 Vector 的实现造成一个很大的问题。其 m_data 指针是按地址值浅拷贝的,而不深拷贝其指向的数组!
- 0 码力 |
96 页 |
16.28 MB
| 2 年前 3 方法来对查询数据缓存,无需自己使用缓存方法进行缓存和读取。
数据库查询缓存有如下的配置:
{
// 数据库查询缓存配置
db_cache_on: true, // 是否启用查询缓存,如果关闭那么 cache 方法则无效
db_cache_type: "", // 缓存类型,默认为内存缓存
db_cache_path: CACHE_PATH + "/db", // this.get("page");
}
JavaScript
## 数据校验
数据校验是指对表单提交类的数据进行校验。如:用户注册、下订单等。需要对这类提交的数据进行校验,如果不合法则不能通过。
数据校验和变量过滤器的区别为:变量过滤器一般给 get 请求使用的,数据校验一般给 post 请求使用的。
ThinkJS 里提供了数据校验的功能,在 Action 里通过 this 自动进行模糊查询, | 连接, 如: ['title', 'content']
db_cache_on: true, // 是否启用查询缓存, 如果关闭那么 cache 方法则无效
db_cache_type: "", // 缓存类型, 默认为内存缓存
db_cache_path: CACHE_PATH + '/db', // 缓存路径, File 0 码力 |
104 页 |
1.29 MB
| 2 年前 3 定位服务器内部的会话对象,实现指定客户的会话跟踪。
## 会话对象的生命周期
会话对象的生命周期比请求对象和响应对象的生命周期要长久,可以跨越多次不同的 Web 组件 JSP 和 Servlet 的请求和响应,因此会话对象可以作为不同 JSP 和 Servlet 之间的数据共享区,保存不同页面需要访问的数据。
创建状态 新的用户请求到来。
活动状态 一个会话有效期内的所有请求,将共享一个会话对象。 方法时客户将请求间隔时间超时。
Java EE 会话对象
## 会话对象的生命周期
会话对象的生命周期比请求对象和响应对象的生命周期要长久,可以跨越多次不同的 Web 组件 JSP 和 Servlet 的请求和响应,因此会话对象可以作为不同 JSP 和 Servlet 之间的数据共享区,保存不同页面需要访问的数据。
创建状态 新的用户请求到来。
活动状态 一个会话有效期内的所有请求,将共享一个会话对象。 方法时:
客户查询请求用隔断而超时。
## 会话对象的生命周期
会话对象的生命周期比请求对象和响应对象的生命周期要长久,可以跨越多次不同的 Web 组件 JSP 和 Servlet 的请求和响应,因此会话对象可以作为不同 JSP 和 Servlet 之间的数据共享区,保存不同页面需要访问的数据。
创建状态 新的用户请求到来。
活动状态 一个会话有效期内的所有请求,将共享一个会话对象。 0 码力 |
54 页 |
824.47 KB
| 2 年前 3 |无修饰符|yes|yes|no|no|
|private|yes|no|no|no|
#### 4.3.3 访问控制注意的一些问题
- 一般不提倡将属性声明为 public 的,而构造方法和需要外界直接调用的普通方法则适合声明为 public 的。
在位于不同的包内,必须是子类的对象才可以直接访问其父类的 protected 成员,而父类自身的对象反而不能访问其所在类中声明的 protected 成员。
- 所谓 特殊的抽象类,这种抽象类中只包含常量定义和方法声明,而没有变量和方法的实现。
#### 7.2.2 定义接口
接口中定义的属性必须是 public static final 的,而接口中定义的方法则必须是 public abstract 的,因此这些关键字可以部分或全部省略。
示例代码: 接口示例(未简化)
public interface Runner {
public static 定位服务器内部的会话对象,实现指定客户的会话跟踪。
#### 19.4.4 会话对象的生命周期
会话对象的生命周期比请求对象和响应对象的生命周期要长久,可以跨越多次不同的 Web 组件 JSP 和 Servlet 的请求和响应,因此会话对象可以作为不同 JSP 和 Servlet 之间的数据共享区,保存不同页面需要访问的数据。
创建状态 新的用户请求到来。
活动状态 一个会话有效期内的所有请求,将共享一个会话对象。 0 码力 |
330 页 |
6.54 MB
| 2 年前 3 {Y}+\boldsymbol{0}\big)\end{aligned} $$
$$ =X^{\mathrm{T}}X W-X^{\mathrm{T}}Y $$
需要用到以下几个矩阵的求导法则:
$$ 令 \frac{\partial J(w)}{\partial w}=0, $$
$$ \frac{\partial X^{\mathrm{T}}X}{\partial X}= 梯度下降的每一步中,都用到了所有的训练样本
随机梯度下降(Stochastic Gradient Descent, SGD)
梯度下降的每一步中,用到一个样本,在每一次计算之后便更新参数,而不需要首先将所有的训练集求和
小批量梯度下降(Mini-Batch Gradient Descent, MBGD)
梯度下降的每一步中,用到了一定批量的训练样本
## 梯度下降的三种形式
批量梯度下降 (Batch Gradient
## 梯度下降的三种形式
## 随机梯度下降(Stochastic Gradient Descent)
梯度下降的每一步中,用到一个样本,在每一次计算之后便更新参数,而不需要首先将所有的训练集求和
## 参数更新
$$ w_{j}\text{:=}w_{j}-\alpha\big(h\big(x^{(i)}\big)-y^{(i)}\big)x_{j}^{(i)} $$
(同步更新 0 码力 |
33 页 |
1.50 MB
| 2 年前 3 场景:数学课上,老师正在讲解 “隐函数求导”, 步骤写到第三行时突然跳过了中间推导, 直接给出结果:“所以这里的dy/dx=(-2x-y)/(x+3y^{2})”。你盯着白板上的公式一脸懵——前两步的链式法则展开去哪了?为什么分母突然多了3y^{2}?周围同学纷纷点头, 老师已经翻到下一页讲应用题了。你手心冒汗, 想举手提问又怕被说“这么简单还不会”, 不提问又担心后面全听不懂……
深度思考
好的, 。他们可能是一名学生,或者需要帮助解决学习中的即时困惑,想要知道如何利用AI工具快速解决问题,避免在课堂上掉队。
接下来,我需要构建一个真实的生活场景。比如,老师正在讲解数学中的微积分概念,如链式法则,而学生突然无法理解导数的复合函数部分,导致后续内容跟不上。这种情况下,学生可能会感到焦虑,担心影响后续学习,但又不敢在课堂上立即提问,怕打断教学进度或显得自己理解能力不足。
然后,分析是否可以使 在笔记软件中快速标注困惑点(如:“疑问:第二步到第三步如何展开?”)
➢ 输入精准问题:
“隐函数求导例题:从方程 $ x^{2} + xy + y^{3} = 0 $ 推导dy/dx,请展示完整的链式法则展开步骤,特别是分母 $ 3y^{2} $ 的来源。”
➢ 秒速获取步骤解析:
立即对照补全笔记,跟上老师进度。
### 2. 课间5分钟(深度追问)
☐ 适用场景:老师已下课,但10分钟后还有后续课程 0 码力 |
65 页 |
4.47 MB
| 1 年前 3
|