算法篇——算法杂记
注意平时的思考杂记,不对外展示
思考点杂烩
1、元集到元集的满射情况
2、切平面与切空间问题
线与平面:
平面与空间(3维空间)
3、关于凸函数的描述
f1和f2是凸函数,那么f1+f2也是凸函数;
f1是凸函数,那么b*f1也是凸函数;
4、关于过拟合的措施
增加数据量:让更多的特殊情况表征在模型里,模型训练的边界也会越来越平滑;
使用Dropout:说的简单一点就是,我们在前向传播的时候,让某个神经元的**值以一定的概率p停止工作,这样可以使模型泛化性更强,因为它不会太依赖某些局部的特征。参考
使用batchNorm:
顾名思义,batch normalization嘛,就是“批规范化”。在每次SGD时,通过mini-batch来对相应的activation做规范化操作,使得结果(输出信号各个维度)的均值为0,方差为1. 而最后的“scale and shift”操作则是为了让因训练所需而“刻意”加入的BN能够有可能还原最初的输入。主要是为了维持数据的输入分布的稳定性。参考
5、主题建模
常见的主题模型:
(1)PLSA(Probabilistic Latent Semantic Analysis)
(2)LDA(Latent Dirichlet Allocation)
(3)L-LDA(Label Latent Dirichlet Allocation)
参考
6、L2 norm
L1 norm就是曼哈顿距离,L2 norm就是欧式距离。
L0-norm也就是直接统计参数不为0的个数作为规则项,但实际上却不好执行于是引入了L1-norm;而L1norm本质上是假设参数先验是服从Laplace分布的,而L2-norm是假设参数先验为Gaussian分布。
7、**函数
sigmoid函数
tanh函数Relu函数
ELU (Exponential Linear Units)
8、ROC与AUC(Area Under Curve)
AUC被定义为ROC曲线下与坐标轴围成的面积,显然这个面积的数值不会大于1。又由于ROC曲线一般都处于y=x这条直线的上方,所以AUC的取值范围在0.5和1之间。AUC越接近1.0,检测方法真实性越高;等于0.5时,则真实性最低,无应用价值。
ROC曲线:
于其他的P-R曲线(精确度和召回率),ROC曲线有一个巨大的优势就是,当正负样本的分布发生变化时,其形状能够基本保持不变,而P-R曲线的形状一般会发生剧烈的变化,因此该评估指标能降低不同测试集带来的干扰,更加客观的衡量模型本身的性能。
参考
9、小题
同时查找 2n 个数中的最大值和最小值,最少比较次数为:3n-2。
思路:首先前两个比较并赋值,剩下的2n-2个两两比较,然后大的跟大的比小的跟小的比总共3(n-1)合计3n-2.
10、c语言中的小注意
fork函数将运行着的程序分成2个(几乎)完全一样的进程,每个进程都启动一个从代码的同一位置开始执行的线程。这两个进程中的线程继续执行,就像是两个用户同时启动了该应用程序的两个副本。fflush(stdout)刷新标准输出缓冲区,把输出缓冲区里的东西打印到标准输出设备上
11、