cs231n学习心得
来源:互联网 发布:淘宝代刷自动返款系统 编辑:程序博客网 时间:2024/06/03 12:49
现象:SVM分类中我写的代码loss持续下下降;但在test上accuracy只有10%左右(10类随机猜测为10%),而该方法应当能达到>30%的Accuracy
原因1:在SVM分类章节中,我将生成随机batch写成如下形式,导致生成的batch中data和标签不匹配
#错误写法
X_batch = X[np.random.choice(num_train,batch_size),:]
y_batch = y[np.random.choice(num_train,batch_size)]w
#正确写法
batch_inx = np.random.choice(num_train, batch_size)
X_batch = X[batch_inx, :]
y_batch = y[batch_inx]
原因2:
但是这个错误困扰了我很久很久,一直没有排查出来,原因如下:
1.上述两种写法在train时,loss都会呈类似曲线的下降,这迷惑了我。
一种解释:
我推测这是因为在SVM train中,正则化项导致W持续减小,使得Scores=X×W也持续减小导致。
结论:
在使用了Regularization时,W即使没有得到正确的训练,它的值也会持续下降,若W的下降会导致loss的下降,则loss会下降并达到一个稳定值,则此时会导致训练正确的假象;
解决方案:
在初次测试时,可以Regularization的参数Reg设定为0,以消除此影响。
0 0
- cs231n学习心得
- cs231n
- cs231n
- CS231N
- CS231N
- CS231N
- CS231N
- cs231n
- cs231n 编程作业(2)学习心得——多种优化方法
- 学习心得
- 学习心得
- 学习心得
- 学习心得
- 学习心得
- 学习心得
- 学习心得
- 学习心得
- 学习心得
- android网络配置
- 改不少次,全是小错误
- poj3974:Palindrome(manacher模板)
- make modules_install指定ko安装路径
- C#如何查找指定目录下文件示例
- cs231n学习心得
- 十、ngMockE2E模块,后台数据模拟
- Java.面向对象.02.继承、向上造型等
- linux初级学习之文件权限 第六单元 学习笔记
- C++ primer 5 3.6节练习:遍历二维数组的各种形式
- android之多进程下Application.getSharedPreferences的取值
- 如何写一个拼写检查器—Peter Norvig 中文翻译:徐宥
- ntpdate刷新linux系统时间
- c语言内存操作函数