1. L1范式和L2范式的区别
(1) L1范式是对应参数向量绝对值之和
(2) L1范式具有稀疏性
(3) L1范式可以用来作为特征选择,并且可解释性较强(这里的原理是在实际Loss function 中都需要求最小值,根据L1的定义可知L1最小值只有0,故可以通过这种方式来进行特征选择)
(4) L2范式是对应参数向量的平方和,再求平方根
(5) L2范式是为了防止机器学习的过拟合,提升模型的泛化能力
L2正则 对应的是加入2范数,使得对权重进行衰减,从而达到惩罚损失函数的目的,防止模型过拟合。保留显著减小损失函数方向上的权重,而对于那些对函数值影响不大的权重使其衰减接近于0。相当于加入一个gaussian prior。
L1正则 对应得失加入1范数,同样可以防止过拟合。它会产生更稀疏的解,即会使得部分权重变为0,达到特征选择的效果。相当于加入了一个laplacean prior。
2.偏倚和方差
偏倚指的是模型预测值与真实值的差异,是由使用的学习算法的某些错误或过于简单的假设造成的误差,它会导致模型欠拟合,很难有高的预测准确率。
方差指的是不同训练数据的模型的预测值之间的差异,它是由于使用的算法模型过于复杂,导致对训练数据的变化十分敏感,这样导致模型过拟合,使得模型带入了过多的噪音。
任何算法的学习误差都可以分解成偏倚、方差和噪音导致的固定误差。模型越复杂,会降低偏倚增加方差。为了降低整体的误差,我们需要对偏倚方差均衡,使得模型中不会有高方差或高偏倚。
4.分类问题有哪些评价指标,每一种的适用场景
召回率:真的正样本里,经过预测,有多少被预测为正样本。
准确率:预测的正样本中,有到少是真的正样本,即预测对了多少比例
TPR(True Positive Rate,又称 灵敏度:sensitivity):TPR=TP/(TP+FN),即正例被正确预测为正例的数目/实际正例的数目
FPR(False Positive Rate):FPR=FP/(FP+TN),即负例被错误预测为正例的数目实际负例的数目
- precision,查准率,预测的正例中有多少是真的正例
- recall, 召回率,查全率,真的正例里有多少被预测为正例
- F-score,即precision 和recall的调和平均值,更接近二者中较小的那个,F = (2PR)/(P+R)
- Accuracy,分类器对整体样本的分类能力,即正例分为正例,负例分为负例
ROC,Receiver Operating Characteristic,主要用于画ROC曲线(横坐标为FPR,纵坐标为TPR)
FPR理解为负例错分的概率,越低越好;
TPR理解为正例正确分类的概率,越高越好;
ROC曲线中,关于四个关键点的解释:
(FPR=0,TPR=0):将全部正例分为负例,全部负例分为负例
(FPR=0,TPR=1):全部划分正确,即正例全部分为正例,负例全部分为负例
(FPR=1,TPR=1):将全部负例分为正例,全部正例分为正例
所以,ROC曲线越靠近左上角,说明分类器的效果越好。AUC, Area Under ROC Curve
在实际的数据集中经常出现类不平衡现象,即负样本比正样本多很多或者少很多,而且测试数据中的正负样本的分布也可能随着时间变化这样ROC曲线会出现较大的波动。AUC的值就是处于ROC curve下方的那部分面积的大小。通常,AUC的值介于0.5到1.0之间,较大的AUC代表了较好的performance。如果模型是完美的,那么它的AUG = 1,如果模型是个简单的随机猜测模型,那么它的AUG = 0.5,如果一个模型好于另一个,则它的曲线下方面积相对较大。
另外,P和R的矛盾性举例:
二分类任务中,只预测了一个A且正确,其他预测都为B,这样准确率很高,但召回率很低;
把所有都预测为A,那么A的召回率极高,但准确率极低。故而引入F-score,作为二者的调和平均值,权重可以修改。
4. SVM、LR、决策树的对比?
SVM既可以用于分类问题,也可以用于回归问题,并且可以通过核函数快速的计算;
LR实现简单,训练速度非常快,但是模型较为简单;
决策树容易过拟合,需要进行剪枝等。
从优化函数上看,soft margin的SVM用的是hinge loss,而带L2正则化的LR对应的是cross entropy loss,另外adaboost对应的是exponential loss。所以LR对远点敏感,但是SVM对outlier不太敏感,因为只关心support vector,SVM可以将特征映射到无穷维空间,但是LR不可以,一般小数据中SVM比LR更优一点,但是LR可以预测概率,而SVM不可以,SVM依赖于数据测度,需要先做归一化,LR一般不需要,对于大量的数据LR使用更加广泛,LR向多分类的扩展更加直接,对于类别不平衡SVM一般用权重解决,即目标函数中对正负样本代价函数不同,LR可以用一般的方法,也可以直接对最后结果调整(通过阈值),一般小数据下样本维度比较高的时候SVM效果要更优一些。