数学解释
偏差
:描述的是预测值(估计值)的期望与真实值之间的差距。偏差越大,越偏离真实数据,如下图第二行所示。
方差
:描述的是预测值的变化范围,离散程度,也就是离其期望值的距离。方差越大,数据的分布越分散,如下图右列所示。
原理: L1正则是基于L1范数和项,即参数的绝对值和参数的积项;L2正则是基于L2范数,即在目标函数后面加上参数的平方和与参数的积项。 区别:
1.鲁棒性:L1对异常点不敏感,L2对异常点有放大效果。
2.稳定性:对于新数据的调整,L1变动很大,L2整体变动不大。 答案解析 数据分析只需要简单知道原理和区别就行,公式推导不需要,面试过程中也不会出现。
https://blog.csdn.net/weixin_41940752/article/details/93159710
在统计学习框架下,大家刻画模型复杂度的时候
,有这么个观点,认为Error = Bias +Variance
。这里的Error大概可以理解为模型的预测错误率,是有两部分组成的,一部分是由于模型太简单(欠拟合)而带来的估计不准确的部分——偏差(Bias)
,另一部分是由于模型太复杂(过拟合)而带来的更大的变化空间和不确定性——方差(Variance)
。
参考:机器学习中的偏差和方差理解
解题
:逻辑回归里面,对于正负例的界定,通常会设一个阈值,大于阈值的为正类,小于阈值为负类。如果我们减小这个阀值,更多的样本会被识别为正类,提高正类的识别率,但同时也会使得更多的负类被错误识别为正类。为了直观表示这一现象,引入ROC。根据分类结果计算得到ROC空间中相应的点,连接这些点就形成ROC curve,横坐标为False Positive Rate(FPR假正率),纵坐标为True Positive Rate(TPR真正率)。一般情况下,这个曲线都应该处于(0,0)和(1,1)连线的上方。 ROC曲线中的四个点和一条线: 点(0,1):即FPR=0, TPR=1,意味着FN=0且FP=0,将所有的样本都正确分类。 点(1,0):即FPR=1,TPR=0,最差分类器,避开了所有正确答案。 点(0,0):即FPR=TPR=0,FP=TP=0,分类器把每个实例都预测为负类。 点(1,1):分类器把每个实例都预测为正类。 总之:ROC曲线越接近左上角,该分类器的性能越好。而且一般来说,如果ROC是光滑的,那么基本可以判断没有太大的overfitting 答案解析 这道题主要是考察ROC的基础知识,需要能够描述ROC的
1、混淆矩阵
: 混淆矩阵是监督学习中的一种可视化工具,主要用于比较分类结果和实例的真实信息。矩阵中的每一行代表实例的预测类别,每一列代表实例的真实类别。 真正(True Positive , TP):被模型预测为正的正样本。 假正(False Positive , FP):被模型预测为正的负样本。 假负(False Negative , FN):被模型预测为负的正样本。 真负(True Negative , TN):被模型预测为负的负样本。 真正率(True Positive Rate,TPR):TPR=TP/(TP+FN),即被预测为正的正样本数 /正样本实际数。 假正率(False Positive Rate,FPR) :FPR=FP/(FP+TN),即被预测为正的负样本数 /负样本实际数。 假负率(False Negative Rate,FNR) :FNR=FN/(TP+FN),即被预测为负的正样本数 /正样本实际数。 真负率(True Negative Rate,TNR):TNR=TN/(TN+FP),即被预测为负的负样本数 /负样本实际数/2
2、准确率(Accuracy)
准确率是最常用的分类性能指标。 Accuracy = (TP+TN)/(TP+FN+FP+TN) 即正确预测的正反例数 /总数
3、精确率(Precision)
精确率容易和准确率被混为一谈。其实,精确率只是针对预测正确的正样本而不是所有预测正确的样本。表现为预测出是正的里面有多少真正是正的。可理解为查准率。 Precision = TP/(TP+FP) 即正确预测的正例数 /预测正例总数
4、召回率(Recall)
召回率表现出在实际正样本中,分类器能预测出多少。与真正率相等,可理解为查全率。 Recall = TP/(TP+FN),即正确预测的正例数 /实际正例总数
5、F1 score
F值是精确率和召回率的调和值,更接近于两个数较小的那个,所以精确率和召回率接近时,F值最大。很多推荐系统的评测指标就是用F值的。 2/F1 = 1/Precision + 1/Recall 6、AUC AUC(Area Under Curve)被定义为ROC曲线下的面积(ROC的积分),通常大于0.5小于1。随机挑选一个正样本以及一个负样本,分类器判定正样本的值高于负样本的概率就是 AUC 值。AUC值(面积)越大的分类器,性能越好 答案解析 这道题主要考察机器学习的评价指标,需要将机器学习的常见指标描述出来。
解题数据分析是通过数据的角度,发现业务的痛点和痒点,通过分析原因得出解决策略,并推动策略落地,达到提升业务质量的过程。 职业看法:我认为这个职业是非常有前景的,未来许多企业都将完成数字化转型,对数据分析师的需要和要求也会逐渐提高,未来我也希望能够在这一领域深耕,不断学习提升自己的分析能力和业务水准,希望能够成为一名优秀的数据分析师。 主要是通过这个问题映射出自己的职业规划,需要明确的说明自己很看好这个职业,以及未来希望能在这个行业里深耕的意愿
随机森林每棵树的训练样本和属性都不相同的,都是通过随机选择的,树与树之间没有关联
RF在以决策树为基学习器构建Bagging集成的基础上,进一步在决策树的训练过程中引入了随机属性选择。
在RF中,对基决策树的每个结点,先从该结点的属性集合中随机选择一个包含k个属性的子集
,然后再从这个子集中选择一个最优属性用于划分。
随机森林简单、容易实现、计算开销小。
随机森林中基学习器的多样性不仅来自样本扰动,还来自属性扰动
。这就使得最终集成的泛化性能可通过个体学习器之间差异度的增加而进一步提升。
随机森林的训练效率常优于Bagging
在统计学中,主成分分析(PCA)是一种简化数据集的技术。它是一个线性变换。这个变换把数据变换到一个新的坐标系统中,使得任何数据投影的第一大方差在第一个坐标(称为第一主成分)上,第二大方差在第二个坐标(第二主成分)上,依次类推。主成分分析经常用减少数据集的维数,同时保持数据集的对方差贡献最大的特征。这是通过保留低阶主成分,忽略高阶主成分做到的。这样低阶成分往往能够保留住数据的最重要方面。但是,这也不是一定的,要视具体应用而定。 PCA的算法步骤如下: 设有m条n维数据。
1、将原始数据按列组成n行m列矩阵X
2、将X的每一行(代表一个属性字段)进行零均值化,即减去这一行的均值
3、求出协方差矩阵
4、求出协方差矩阵的特征值及对应的特征向量
5、将特征向量按对应特征值大小从上到下按行排列成矩阵,取前k行组成矩阵P Y=PX即为降维到k维后的数据 答案解析 这道题主要考察PCA主成分分析,只要将主成分分析的基本概念描述出来即可
RNN是一类以序列数据为输入,在序列的演进方向进行递归,且所有节点单元按照链式连接的递归神经网络,RNN每一层的隐状态都由前一层的隐状态经过变换和激活函数得到。反向传播求导时最终得到的导数会包含每一步梯度的连乘,这会引起梯度爆炸或梯度消失。所以RNN很难处理"长程依赖",即无法学到序列中蕴含的间隔较长的规律。
LSTM引入了包含遗忘门、输入门、输出门的cell状态结构,公式如下:
而对于LSTM模型而言,求解有
平方误差损失L2 loss
每个训练示例的平方误差损失,也称为L2损失,是实际值和预测值之差的平方:
相应的代价函数是这些平方误差的均值(MSE)。
MSE损失函数。它是一个正二次函数(形式为ax^2 + bx + c,其中a > 0)二次函数只有全局最小值,因此,始终保证梯度下降将收敛(如果它完全收敛)到全局最小值。
绝对误差损失L1 loss
每个训练示例的绝对误差是预测值和实际值之间的距离,与符号无关。绝对误差也称为L1损失:
SVM是在特征空间上找到最佳的分离超平面,使得训练集上的正负样本间隔最大。是用来解决二分类问题的有监督学习算法,在引入核方法后也可以解决非线性问题。
基于L1的loss代价函数称为绝对误差的平均值(MAE)。
Smooth L1 Loss(Huber)
SmoothL1Loss为平方误差的修改版,为分段函数,对离散点不敏感,具体的公式如下
这三种函数的可视化结果如下:
合页损失Hinge loss
Hinge损失主要与类标签为-1和1的SVM分类器一起使用。
Hinge Loss不仅会惩罚错误的预测,还会惩罚不自信的正确预测。
Hinge Loss简化了SVM的数***算,同时最大化了损失(与Log-Loss相比)。当我们想要做出实时决策而不过于关注准确性时使用它。
输入-输出对(x, y)的Hinge loss为:
二分类交
叉熵损失函数Binary Cross Entropy Loss
给出了离散版、连续版两个函数,主要区别是离散用求和,连续用积分。
负号用于使总量为正。概率分布的熵值越大,表示分布的不确定性越大。相反,熵越小表示模型预测的越确定。
二分类化简之后的结果如下:
多分类交叉熵损失函数Categorical Cross Entropy Loss
faster rcnn是很经典的目标检测方法,需要熟练掌握,并且很多部分需要熟悉代码,如最基本的两个bbox的iou计算、nms等
损失函数由四部分组成:
RPN分类损失:anchor是否为gt,二类交叉熵损失
RPN位置回归损失:anchor位置微调,bbox的第一次修正
ROI分类损失:ROI所属类别,分类损失
ROI位置回归损失:继续对ROI位置微调,第二次对bbox的修正
最终的损失是四个损失相加
anchor生成:
首先,要先熟悉anchor概念:Anchor是以待检测位置为中心,以指定的大小和高宽比构成一组锚框。假设Feature Map的宽度为W,宽度为H,在每个待检测的位置生成的锚框数目为K,根据滑动窗口的方法,生成总的锚框的数量是W * H * K
每个锚点有三种尺寸(128,256,512)和三种长宽比(1:1,1:2,2:1),相互组合,就是每个锚点有9个锚框
扩展:实现生成anchor代码
1.获取更多数据,扩大数据量。 2.降低模型复杂度。 3.添加正则项。 4.改为集成学习。
1.具有数据敏感度,与数据打交道需要能够从众多的数据中发现统计规律,需要有较强的数据敏感度。
2.快速学习能力较强,数据分析师可能需要同时推进不同的业务,需要快速学习不同业务。
3.沟通协调能力较强,数据分析不是独自一人干活,而是需要与业务方沟通,才能完成工作的。 每点后最好结合自身经历,说明自己在这方面有优势,会比较加分。
RF:采用Bootstrap的随机有放回的抽样,抽样出N份数据集,训练出N个决策树。然后根据N个决策树输出的结果决定最终结果。 xgboost:通过boosting的思想,由一堆cart树,将每棵树的预测值加在一起就得到了最后的预测值。 RF属于集成学习Bagging,而XGB属于集成学习Boosting。 RF是通过减少模型方差提高性能;XGB是通过减少模型偏差提高性能。 对于最终的输出结果而言,RF采用多数投票等;而XGB则是将所有结果累加起来,或者加权累加起来。
优点:当潜在的簇形状是凸面,簇与簇之间较明显,且簇大小相近时,结果较理想。对于处理大数据,该算法高效且伸缩性较好。 缺点:要事先确定k;对于初始簇中心敏感,常以局部最优结束,对孤立点敏感,不适于发现非凸的簇或大小差别大的簇。