美文网首页
070 模型基础

070 模型基础

作者: 快乐公兽 | 来源:发表于2020-06-20 22:56 被阅读0次

背景

机器学习中很多基础知识,笔记加深印象
后续持续更新……


评估指标

AUC

正例预估大于负例的概率,横坐标真正率、纵坐标假正率

logloss

真实label和预估值间的交叉熵
p = p(y=1|x)
y=1时,p(y=1|x)=p^y
y=0时,p(y=0|x)=(1-p)^{1-y}
合并为一个式子就是 p(y|x)=p^y*(1-p)^{1-y}
max(p(y|x))=min(-log(p(y|x)))
对每个样本来说,代价函数可以写为 -y_i*log(p_i) - (1-y_i)*log(1-p_i)
最小化损失函数 min(-\sum_{i=1}^n{[y_i*log(p_i) + (1-y_i)*log(1-p_i)]})

最大似然估计

对于n个样本,正样本数为k,最大似然函数可以写为
L(\theta) = p^k*(1-p)^{n-k}
max(L(\theta)) = max(log(L(\theta))) = max(k*log(p)+(n-k)*lop(1-p)) = min(-\sum_{i=1}^n{[y_i*log(p_i) + (1-y_i)*log(1-p_i)]})

交叉熵、相对熵(KL散度)区别
H(x)=-p(x)*log(p(x))
D_{KL}(p||q)=\sum_i^n{p(x_i)*log(\frac{p(x_i)}{q(x_i)})}=p(x)*log(p(x))-p(x)*log(q(x))
KL散度 = -熵 + 交叉熵

AUC和logloss区别

AUC注重序,预估值绝对值的大小不重要,logloss注重预估值和真实值的差异,目标是真实值和预估值差异变小
模型一般将logloss作为优化目标,结果用AUC指标来评估


偏差&方差

  • 高偏差意味着欠拟合,训练误差大,测试误差大
  • 高方差意味着过拟合,训练误差小,测试误差大
  • 存在高偏差高方差的现象,偏差和方差的权衡

过拟合和欠拟合

过拟合解决方法

  • 添加正则、添加dropout、减小网络层数和神经元数、early stopping、集成模型
  • 增加数据量,样本估计总体,样本越大,对总体的估计误差也越小
    欠拟合
  • 尝试更加复杂模型,boosting方法
  • 添加特征、特征组合

DNN相关

DNN中一些不容易理解的点

梯度爆炸

梯度爆炸

  • 初始化权值过大
  • 梯度剪切、添加正则、BN

梯度消失

  • sigmoid激活函数
  • 使用relu激活、添加BN
  • 添加残差网络

BN作用和原理

  • 每一层结果进行归一化
  • Covariate shift,权值漂移,每一层相对独立
  • 减小噪声,起到轻微正则
  • 训练和测试时候BN的区别
    • 训练的时候按照当前batch归一
    • 测试的时候将所有训练batch的均值和方差做加权平均得到归一参数

连续特征和离散特征

连续特征

  • 有数值意义,异常值需要处理
    离散特征
  • 没有数值意义,不担心异常值问题
  • 一个特征有多个权重,表达能力更强
  • 更适合做交叉特征
  • 更加稳定,但是特征离散化有讲究

海量离散特征+简单模型 tradeoff 少量连续特征+复杂模型

相关文章

网友评论

      本文标题:070 模型基础

      本文链接:https://www.haomeiwen.com/subject/bxrnxktx.html