1. 在本节的估计问题中使用λ的值进行实验。绘制训练和测试精度关于λ的函数。观察到了什么?
修改代码运行如图所示,可以发现对于lamda值的变化而言,对于训练loss和测试loss的影响不大。但是如果λ 太大后,train和test的loss会变得很大,太小后,train的loss会低,但是test的loss会很高。
2. 使用验证集来找到最佳值λ。它真的是最优值吗?这有关系吗?
不是,因为验证集上数据与其他数据集的数据可能不同,lamda只是对于验证数据集的最优值,而不是泛化情况下的最优值。关系上,只是划分数据降低超参数之间的影响,实现事件发生的独立而已,能够提高模型泛化能力。
3. 解答
L ( w , b ) = 1 n ∑ i = 1 n 1 2 ( w T x ( i ) + b − y i ) 2 + λ 2 ∣ w ∣ δ ∑ i ∣ w i ∣ δ ∣ w i ∣ = s g n ( w i ) w ← w − η λ s g n ( w i ) −