- 博客(7)
- 资源 (1)
- 收藏
- 关注
原创 L1正则为什么更容易获得稀疏解
L1和L2正则常被用来解决过拟合问题。而L1正则也常被用来进行特征选择,主要原因在于L1正则化会使得较多的参数为0,从而产生稀疏解,将0对应的特征遗弃,进而用来选择特征。 但为什么L1正则会产生稀疏解呢?这里利用公式进行解释。 假设只有一个参数为www,损失函数为L(w)L(w)L(w),分别加上L1正则项和L2正则项后有:JL1(w)=L(w)+λ|w|JL1(w)=L(w)+λ...
2018-07-29 22:47:51
21761
17
原创 机器学习中的方差、偏差和噪声
机器学习算法一般都会有训练和测试的过程,而且算法在不同训练集(训练集来自同一个分布)上学得的模型,测试的结果也很可能不同。 一般来说,算法的方差衡量了训练集的变动导致的模型性能的变化,即多次训练的模型之间的性能差异性。偏差则是度量算法的期望输出与真实标记的区别,表达了学习算法对数据的拟合能力。而噪声则表示数据的真实标记与数据在数据集上标记的区别,表明算法在当前任务上能达到的测试误差的下界...
2018-07-14 22:39:25
2323
原创 linux下python程序后台运行,并将打印信息保存文件
在跑比较时间比较长的程序,或者是打印信息比较多的程序时,一般都会后台运行程序,然后把打印信息保存在文件中,等程序运行结束后再检查输出日志。完成该功能可以用如下命令:nuhup python -u test.py > test.log 2>&1 &其中, 1. 最后一个“&”表示后台运行程序 2. “nohup” 表示程序不被挂起 3. “p...
2018-07-14 21:55:24
10244
5
原创 softmax loss层的求导反向传播
深度学习中的分类网络,一般都是使用softmax和交叉熵作为损失函数。关于softmax和cross entropy的介绍和解释可以详见我的另一篇博客softmax loss。这篇博客仅解释如何对softmax loss层进行求导反向传播。 假设网络最后一层的输出为zz\mathbf{z},经过softmax后输出为pp\mathbf{p},真实标签为yy\mathbf{y}(one h...
2018-07-08 11:51:16
8250
6
原创 CNN中pooling层的反向传播
CNN中的pooling层一般有max pooling和average pooling两种。虽然pooling层没有参数,但为了使用链式法则逐层向前进行梯度的传播,也是需要对pooling层进行求导计算的。 假设P_prev经过pooling层之后得到P,pooling的步长为stride_h和stride_w, pooling的窗口大小为f_h * f_w。需要通过dP求解dP_pre...
2018-07-04 22:14:24
2509
原创 linux下统计代码量
在日常工作时,可能需要统计代码量,在linux下可以使用cloc工具来统计代码量。在ubuntu下可以直接使用如下命令安装cloc工具sudo apt-get install cloc安装之后,即可以使用cloc的命令来统计代码量,比如统计当前目录下的代码量cloc --exclude_dir="env,docs," .需要注意的是,该命令只统计当前目录(包括所有子目录...
2018-07-04 22:07:18
2287
原创 softmax loss
softmax函数比较简单,可以用如下公式表示同样,交叉熵的公式也很简单,如下:其中 表示真实的概率(),而 表示预测的概率。在深度学习中,这二者也经常被使用,softmax常被用来将输出映射到0~1的概率值,而cross entropy则常被用来作为分类模型的损失函数。在使用的时候有什么需要注意的呢?softmax存在下溢和上溢的问题,如果=c,那么softmax的值都...
2018-07-04 22:02:59
1533
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人