ml知识点
softmax和logistic
- sigmoid: 导数在(0,1/4),当x>1/4或者<-1/4时,导数非常小 1/1+e^(-x)
- 当分类数为2时,可以推导出两个一致
- softmax建模使用的分布是多项式分布,而logistic则基于二项式分布
- softmax回归进行的多分类,类与类之间是互斥的,即一个输入只能被归为一类
- 多个logistic回归进行多分类,”苹果”这个词语既属于”水果”类也属于”3C”类别。
二项式和多项式分布
- 二项
- 二项分布是n重伯努利试验中正例发生次数的离散概率分布
import numpy; a = numpy.random.binomial(n=10, p=0.7, size = 1)
- 多项
- 二项分布是单变量分布,而多项分布是多变量分布
- 多项分布的例子是扔骰子,每次试验有多种可能,进行多次试验,多项分布描述的是每种可能发生次数的联合概率分布
a = numpy.random.multinomial(n=10, pvals=[0.2,0.4,0.4], size = 1)
- 二项
逻辑回归梯度下降伪代码
最小均方误差和最小二乘
- 算术平均数可以让均方误差误差最小
- 如果误差的分布是正态分布,那么最小二乘法得到的就是最有可能的值。即:最小二乘法是概率密度(误差的概率密度)是高斯分布的最大似然估计的状况
- 线性回归模型用最小二乘法得到的估计的均方误差怎么得到
并行直方图
- 分裂节点时,数据在block中按列存放,而且已经经过了预排序,因此可以并行计算,即同时对各个属性遍历最优分裂点
特征点分割
- 树节点在进行分裂时,我们需要计算每个特征的每个分割点对应的增益,即用贪心法枚举所有可能的分割点
- 当数据无法一次载入内存或者在分布式情况下,贪心算法效率就会变得很低,XGBoost采用了一种近似的算法
- 近似的算法对每维特征加权分位进行分桶,具体的算法利用到了损失函数关于待求树的二阶导数。
偏导数与残差
- 偏导数的计算可以确定每个相关数据对最终结果的局部/全局最小值的一个梯度。
顺着梯度进行调整,会让结果逐步趋向局部/全局最小值。 - gbdt是用梯度来近似残差:损失函数L对当前所学模型F预测值的负梯度,所以模型的更新是沿着梯度下降方向的。
- 偏导数的计算可以确定每个相关数据对最终结果的局部/全局最小值的一个梯度。
auc计算
- (auc计算)[https://blog.csdn.net/qq_22238533/article/details/78666436]
- 为啥auc
- 随机抽出一对样本(一个正样本,一个负样本),然后用训练得到的分类器来对这两个样本进行预测,预测得到正样本的概率大于负样本概率的概率。
模型评估
- 精确率
- 分类正确的正样本 占 判定为正样本的总数 。
- 召回率
- 分类正确的正样本 占 真正正样本总数 。
- 问题
- 提高精确率,会更倾向于 “更有把握才把样本判定为正” ,此时保守而降低了召回率
- 即排序的TOPN,精确率很高,但是会漏掉 很多其他正样本。导致用户找不到自己想要的。
- 综合考虑
- PR 曲线
- x召回,y精确。
- f1 score
- 调和平均值
- ROC 曲线
- PR 曲线
- 精确率
本文作者:
yuqing wang
本文链接: https://satyrswang.github.io/2021/04/05/ml基础/
版权声明: 本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。转载请注明出处!
本文链接: https://satyrswang.github.io/2021/04/05/ml基础/
版权声明: 本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。转载请注明出处!