(二十三)独立练习与后续衔接
- 自拟:记录数组的形状变化。 从
(3,2)的阅读表开始,分别整数索引、切片、转置、插轴和沿轴归约,先写出 shape,再运行核对。 - 自拟:复盘共享修改。 取某一列的切片与 copy,各修改一格,画出原数组、视图和独立数据在修改前后的数值;再用 shares_memory 核对。
- 自拟:修正每天归一化。 每天早晚的数除以当天总和,让非零总量的每行和为 1;补一行全零输入,用 divide 的 out 和 where 表达这行的结果。
- 自拟:核对三维 axis。 为两位读者保存三天两时段记录,分别统计每位读者总量、每天跨读者总量,以及每个时段总量,画出每个输出由哪些格子组成。
- 自拟:分析得分间隔。 读取上一章保存的每次得分时刻,用 diff 计算同一局的相邻间隔,比较平均数、中位数与最大间隔,并用直方图呈现;不同局先分开整理。
- 自拟:扩充目录分析。 增加一条已有标签组合的书,先手算覆盖数和共现矩阵的变化,再运行分析;另准备空状态、损坏标签和重复书名,核对报告中的处理记录。
- 自拟:比较分批统计。 把记录分成不等长批次,分别算批均值的平均与总和除总数,解释两者不同的原因,并实现与整组结果相同的累计。
- 自拟:手算第二次更新。 从 b=0.8、w=28/15 开始,重新计算每条预测、残差、两个梯度与新参数,和程序的第二轮记录逐项比较。
- 自拟:保存分析所需信息。 保存标签词表、数值数组与标准化尺度,在新进程读取并核对结果;让书名与数组行一起换序,检查共现统计和按书名查询是否仍然一致。
这一章从记录的形状走到批量计算,再把结果保存成报告。下一章进入 Web 应用:把前面的书籍、数据库与分析操作放进一次请求中,逐步分清输入、校验、业务处理和响应,随后再选择具体框架来组织程序。
本章习题解答与推导 按题号整理实现、过程说明与运行检查,可在完成练习后逐项对照。