首页 > 代码库 > 『cs231n』计算机视觉基础
『cs231n』计算机视觉基础
线性分类器损失函数明细:
『cs231n』线性分类器损失函数
最优化Optimiz部分代码:
1.差劲的方案,随机搜索
bestloss = float(‘inf‘) # 无穷大 for num in range(1000): W = np.random.randn(10, 3073) * 0.0001 loss = L(X_train, Y_train, W) if loss < bestloss: bestloss = loss bestW = W scores = bsetW.dot(Xte_cols) Yte_predict = np.argmax(score, axis = 0) np.mean(Yte_predict == Yte)
核心思路:迭代优化
2.浪费的方案,随机本地搜索
W = np.random.randn(10, 3073) * 0.001 bestloss = float(‘inf‘) for i in range(1000): step_size = 0.0001 Wtry = np.random.randn(10, 3073) * step_size loss = L(Xtr_cols, Ytr, Wtry) if loss < bestloss: W = Wtry bestloss = loss
One_Hot编码
a 0,0,0,1
b 0,0,1,0
c 0,1,0,0
d 1,0,0,0
这样
数据优化另一个方面
下面的代码理论上输出1.0,实际输出0.95,也就是说在数值偏大的时候计算会不准
a = 10**9 for i in range(10**6): a = a + 1e-6 print (a - 10**9) # 0.95367431640625
所以会有优化初始数据的过程,最好使均值为0,方差相同:
以红色通道为例:(R-128)/128
稀疏矩阵
0元素很多的矩阵是稀疏矩阵,便于优化(收敛速度快)有一种说法是提取单一特征时不需要同时激活那么多的神经元,所以抑制其他神经元效果反而更好L1正则化是一种常用稀疏化手段L2正则化由于加了平方,所以权重影响项可以很接近零,反而不会被继续优化到0,没有稀疏的效果。
『cs231n』计算机视觉基础
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。