该题要求实现一个极简的序列分类器:对长度为 L 的症状序列(每步维度 D)进行两层线性映射(均为无偏置的 MLP 层),得到每步的 K 维预测,再对“序列维度”取平均作为最终 K 类输出;损失函数为 MSE。随后基于单样本进行一次 SGD 更新,输出更新后的两层权重。
某智能医疗平台正在研发一套基于人工智能的自动疾病辅助诊断系统。例如,该系统通过对患者多次填写的症状问卷数据进行分析,帮助医生快速判断患者属子健康、感冒还是肺炎三类之一、每位患者在就诊前需填写一个包含多个症状的问题序列(如咳歌、发热、咽痛等);每条问卷的症状项被嵌入为特征向量,形成一个长度为 L 的症状序列,每个症状的特征维度为 D 。这些离散症状特征经过预处理后输入到诊断系统中。系统采用一层 MLP 进行特征映射,再使用一层 MLP 作为分类器输出各症状的预测概率,为简化考虑,输出率无需进行 sottmax 归一化。同时,MLP 层也无偏置项。请实现以下输出:
前向推理:输出预测概率( K 个,例如 K=3 时表示分类为健康/感冒/肺炎的概率),并取症状维度的平均值作为输出
LOSS 计算:输出 MSE 损失 LOSS ; 定义为,Lmsc=K1∑i=1K(yi−y^i)2
其中 K 为类别数, y1 为真实概率, y^i2 表示预测械率。
权重更新:输出单次反向传播后的权重。更新采用 SGD 优化器,定义为: Wnew =Wold −η∇wL
其中 η 为学习率。
第 1 行:序列长度 L∈[1,10]、特征维度 D∈[1,10]、分类数 K∈[2,5]、学习率 η∈[0,1]
第 2 行:真实概率,K 个数
第 3 行:输入序列, L×D 个数
第 4 行:MLP 参数 Wmlp,D×D 个数
第 5 行:分类层参数 Wcls,D×K 个数
第 1 行: K 个类别的预测概率
第 2 行:MSE LOSS,1 个数
第 3 行:MLP 更新后的参数 Wmlp,D×D 个数
第 4 行:分类层更新后的参数 Wcls,D×K 个数
注:数据间用运号隔开,输出结果均保留 2 位小数
输入
4,2,5,1.0
0.10,0.20,0.30,0.25,0.15
0.0,1.0,-1.5,2.5,3.0,-0.5,0.7,0.3
0.6,-0.4,0.2,0.9
0.5,0.1,-0.3,0.8,0.0,-0.2,0.4,0.6,-0.5,1.0
输出
0.14,0.26,0.16,0.13,0.52
0.04
0.61,-0.48,0.21,0.78
0.49,0.09,-0.27,0.82,-0.07,-0.21,0.39,0.63,-0.48,0.92
说明
输入:
第 1 行:序列长度 L=4、特征维度 D=2 、分类数 K=5、学习率 η=1.0
第 2 行:表示真实标签三分类的概率分别为 0.10,0.20,0.30,0.25,0.15
第 3 行:输入序列数据内容,4×2=8 个数
第 4 行: MLP 参数 Wmlp,2×2 个数
第 5 行:分类层参数 Wcls,2×5 个数
输出:
第 1 行:五分类的预测概率分别为 0.14,0.26,0.16,0.13,0.52
第 2 行: MSELOSS 为 0.04
第 3 行: MLP 更新后的参数 Wmlp
第 4 行:分类层更新后的参数 Wcls
输入
2,2,3,0.1
1.0,0.0,0.0
1.0,2.0,3.0,4.0
1.0,1.0,1.0,1.0
1.0,0.0,0.0,0.0,0.0,0.0
输出
5.00,0.00,0.00
5.33
0.47,1.00,0.20,1.00
-0.33,0.00,0.00,-1.33,0.00,0.00
说明
输入:
第 1 行:序列长度 L=2、特征维度 D=2 、分类数 K=3、学习率 η=0.1
第 2 行:表示真实标签三分类的概率分别为 1.0、0.0、0.0
第 3 行:输入序列数据内容,2×2=4 个数
第 4 行: MLP 参数 Wmlp,2×2 个数
第 5 行:分类层参数 Wcls,2×3 个数
输出:
第 1 行:三分类的预测概率分别为 5.00、0.00、0.00
第 2 行: MSELOSS 为 5.33
第 3 行: MLP 更新后的参数 Wmlp
第 4 行:分类层更新后的参数 Wcls