1.什么是线性回归?
是一种预测模型,利用各个特征的数值去预测目标值。线性回归的主要思想是给每一个特征分配一个权值,最终的预测结果是每个特征值与权值的乘积之和再加上偏置。所以训练的目标是找到各个特征的最佳权值和偏置,使得误差最小。
2.线性回归要预测的函数是什么形式?
特征的线性组合,即每个特征值与权值的乘积之和再加上偏置。
3.线性回归的损失函数是什么?
一般使用最小二乘法,损失函数是各个样本真实值与预测值之差的平方和,需要找到合适的参数,也就是权重和偏置,使得这个误差平方和最小。
其中共有
m
m
m个样本点,乘以1/2是为了方便计算
4.线性回归的求解方法
- 公式法。损失函数对w和b分别进行求导,令导数为0,然后求解w和b。
矩阵X需要是满秩矩阵,非满秩矩阵在求逆时会出现问题。
样本数量要大于特征数量,即方程数大于未知数。 - 优化方法。初始化w和b,然后使用优化方法不断进行优化求解。通常使用梯度下降法
5.线性回归不好的原因
- 普通线性回归容易过拟合,使用LASSO或者RIDGE回归试试。
- 数据不符合线性回归的假设
- 可能需要进一步进行特征工程
6.岭回归(L2正则化)
损失函数变为:
在原来的损失函数基础上加入w参数的平方和乘以
λ
\lambda
λ(加入w的L2范数) 。相当于增加了一个约束项,在这个约束之下求损失函数的最小值。
7.Lasso回归(L1正则化)
损失函数:
在损失函数中加入w的L1范数,w容易落到坐标轴上,即Lasso回归容易得到稀疏矩阵
8.Ridge回归和Lasso回归的使用目的和使用场景
- 解决普通线性回归过拟合的问题;
- 解决方程求解法中非满秩矩阵无法求解的问题;
- 约束参数
9.Ridge回归和Lasso回归谁更好
Lasso回归(L1)同时做变量选择和参数收缩,而ridge回归只做参数收缩
Lasso回归以使得一些特征的系数变小,甚至还使一些绝对值较小的系数直接变为0,从而增强模型的泛化能力,对少量变量有中等或大尺度的影响的时候用lasso回归。
在对多个变量只有小或中等尺度影响的时候,使用Ridge回归。
10.什么是ElasticNet回归
ElasticNet综合了L1正则化项和L2正则化项,以下是它的公式:
ElasticNet在我们发现用Lasso回归太过(太多特征被稀疏为0),而岭回归也正则化的不够(回归系数衰减太慢)的时候,可以考虑使用ElasticNet回归来综合,得到比较好的结果。
10.线性回归要求数据服从正态分布?
我们假设线性回归的噪声服从均值为0的正态分布。 当噪声符合正态分布N(0,delta^2)时,因变量则符合正态分布N(ax(i)+b,delta2),其中预测函数y=ax(i)+b。这个结论可以由正态分布的概率密度函数得到。也就是说当噪声符合正态分布时,其因变量必然也符合正态分布。
在用线性回归模型拟合数据之前,首先要求数据应符合或近似符合正态分布,否则得到的拟合函数不正确。
11.简要介绍一下线性回归处理步骤,怎么确定因变量与自变量间线性关系,什么情况下可停止迭代,怎么避免过拟合情况?
一般来说缺失值处理、类别变量数值化,异常值处理,连续特征离散化(数据分桶),归一化等等,当两次迭代所带来的增益小于事先给定的阈值时,或者达到事先设定的最大迭代次数,则停止迭代过程,过拟合没法避免只能说是尽量降低过拟合的影响,通过l1、l2正则化、减少特征的数量、增大样本的数量等等。