机器学习基础知识

问:老板给了你有一个关于癌症检测的数据集,你构建了二分类器然后计算了准确率为98%,你是否对这个模型满意?为什么?如果还不算理想,接下来该怎么做?

答:首先模型的主要患有癌症的患者,模型关注的实际是坏样本。其次一般来说癌症的数据集中坏样本比较少,正负样本不平衡。准确率的指的是分类正确的样本占总样本个数的比例$Accuracy$$=\frac{n_{\text {correct }}}{n_{\text {total }}}$,其中$n_{\text {correct }}}$,为正确分类样本的个数,$n_{\text {total }}$为总样本分类的个数。

当好样本(未患病)的样本数占99%时,模型把所有的样本预测为好样本也可以获得99%的准确率,所以正负样本非常不平衡时,准确率往往会偏向占比大的类别,因此这个模型使用准确率作为模型评估方式不合适。

鉴于模型实际关注的是坏样本,建议使用召回率(RECALL)作为模型的评估函数。Recall是分类器所预测正确的正样本占所有正样本的比例,取值范围是[0,1],取值越大,模型预测能力越好。

$R=\frac{T P}{T P+F N}$

其次使用处理不平衡的解决方案:

常见的处理数据不平衡的方法有:重采样、Tomeklinks、SMOTE、NearMiss等

此外,还可以使用模型处理:使用多种树模型算法,使用多种重采样的数据集,对少数样本预测错误增大惩罚,避免使用Accuracy,可以使用confusion matrix,precision,recall,f1-score,AUC,ROC等指标。

 

问:怎么判断一个模型训练好的模型是否过拟合?如果判断了过拟合,那通过什么办法可以解决过拟合问题?

答:模型在验证集合上和训练集合上表现都很好,而在测试集合上表现很差。

解决过拟合的方法:特征降维、添加正则化,降低模型的复杂度、Dropout、Early stopping、交叉验证、决策树剪枝、选择合适的网络结构。

 

问:关于正则,我们一般采用L2或者L1正则,这两个正则之间与什么区别?什么时候用L1?什么时候用L2?

L1正则化(也叫做Lasso回归)是在目标函数中加上与系数的绝对值相关的项,而L2回归(也叫做岭回归)则是在目标函数中加上与系数的平方相关的项。

Lasso和岭回归系数估计是由椭圆和约束函数域的第一个交点给出的。因为岭回归的约束函数域没有尖角,所以这个交点一般不会产生在一个坐标轴上,也就是说岭回归的系数估计全都是非零的。然而,Lasso约束函数域在每个轴上都有尖角,因此椭圆经常和约束函数域相交。发生这种情况时,其中一个系数就会等于0。

L2正则化会使参数的绝对值变小,增强模型的稳定性(不会因为数据的变化而产生很大的震荡);而L1正则化会使一些参数归为0,从而实现特征稀疏,增强模型的解释性。

 

问:什么是ElasticNet?它主要用来解决什么问题?具体该如何去优化?

弹性回归是岭回归和Lasso回归的混合技术,它同时使用了L2和L1正则化。当有多个相关的特征时,弹性网络是有用的。Lasso回归很可能随机选择其中一个,而弹性网络回归很可能都会选择。

$\hat{\beta}=\underset{\beta}{\operatorname{argmin}}\left(\|y-X \beta\|^{2}+\lambda_{2}\|\beta\|^{2}+\lambda_{1}\|\beta\|_{1}\right)$

在高度相关变量的情况下,它支持群体效应。

他对所选变量的数目没有限制

具有两个收缩因子$\lambda_{1}$和$\lambda_{2}$

问:正则化项是否是凸函数?请给出证明过程。

答:证明正则化项是否是凸函数,需要证明:1.fx在D上二阶连续可微。2.fx的Hessian矩阵在D上是半正定的。

posted @ 2021-10-06 21:21  hongnal  阅读(93)  评论(0)    收藏  举报