LR面试总结

1.LR推导过程。

参考

https://blog.csdn.net/cyh_24/article/details/50359055

https://blog.csdn.net/zouxy09/article/details/20319673

2.LR的损失函数,损失函数的公式。

损失函数是对数似然函数(也可以用对数似然损失)。

 

3.LR模型如何防止过拟合。

(1)加入正则项p=1,2分表表示L1,L2范数

(2)特征降维(PCA,LDA等一些降维方法)。

4.LR为什么要用sigimoid函数。

(1)由最大熵准则推导得到。(最大熵与LR的关系)

(2)一般的概率都趋向于正态分布,sigimoid函数与正态分布相似。

5.LR怎么做并行化。

参考https://blog.csdn.net/qq_32742009/article/details/81839071

一种是按行分割数据,即将样本拆分,然后用不同的机器或者线程同时计算特征权重与特征向量的点乘。

一种是按列分割(特征维度很大),就是拆分特征,分别计算后合到一起。

6.LR怎么输入非线性特征。

(1)利用特殊核函数,对特征进行变换:把低维空间转换到高维空间,而在低维空间不可分的数据,到高维空间中线性可分的几率会高一些。(one-hot编码)
(2)扩展LR算法,提出FM算法。

7.LR为什么要对连续特征进行离散化。

(1)离散特征的增加和减少都很容易,易于模型的快速迭代;

(2)稀疏向量内积乘法运算速度快,计算结果方便存储,容易扩展;

(3)离散化后的特征对异常数据有很强的鲁棒性:比如一个特征是年龄>30是1,否则0。如果特征没有离散化,一个异常数据“年龄300岁”会给模型造成很大的干扰;

(4)逻辑回归属于广义线性模型,表达能力受限;单变量离散化为N个后,每个变量有单独的权重,相当于为模型引入了非线性,能够提升模型表达能力,加大拟合;

(5)离散化后可以进行特征交叉,由M+N个变量变为M*N个变量,进一步引入非线性,提升表达能力;

(6)特征离散化后,模型会更稳定,比如如果对用户年龄离散化,20-30作为一个区间,不会因为一个用户年龄长了一岁就变成一个完全不同的人。当然处于区间相邻处的样本会刚好相反,所以怎么划分区间是门学问;

(7)特征离散化以后,起到了简化了逻辑回归模型的作用,降低了模型过拟合的风险。

你可能感兴趣的:(面试总结)