学术教育

从代码层理解数学符号

• 核心观点:数学符号可理解为循环简写,库函数并行执行不改变逻辑本体。 • 代码仅使用循环、条件与累加器,所有示例实际运行且与手算结果一致。 • 标量、向量、矩阵、张量分别对应变量、列表、嵌套列表、多层嵌套列表。 • 数学索引通常从1开始,代码索引从0开始。 • Σ 对应累加循环,∏ 对应连乘循环,Σ 的层数对应循环嵌套层数。 • 哑变量对应循环中消失的求和变量,矩阵乘中消失下标即被累加。 • 点积用累加器初值0,连乘用初值1,max用-inf,min用+inf。 • 逐元素运算用同下标操作但不累加,卷积用四层循环表达双重Σ。 • ReLU 可用指示函数或掩码表达,max池化同时记录max值和argmax位置。 • Softmax 分三段循环:找最大值、计算exp并累加分母、归一化。 • 交叉熵按 y_k ln p_k 循环累加,one-hot可简化但逻辑仍是循环。 • 期望、均值、方差均通过加权累加或两遍循环计算,方差先求均值。 • 条件求和可用if判断,也可用指示函数乘0或乘1实现。 • 反向传播全部用循环实现,包含链式法则、外积、求和、散射、掩码。 • 权重梯度属于gather,每个输出使用独立累加器;输入梯度属于scatter,需先清零。 • 数值梯度用中心差分扰动权重验证反向传播结果。 • 参数更新按逐元素循环执行 W -= lr * dW 和 bias -= lr * db。 • 代码需明确轴、shape、嵌套结构和展平地址公式。 • 总表关系:Σ为循环累加,矩阵乘为嵌套累加,卷积为下标偏移累加,argmax需记位置。

Free to readViewed by 29 people