LR
参数
多分类情况下使用一对多策略,损失函数为交叉熵损失,求解方法为LBFGS,SAG和NEWTON-CG。
1,penalty : str, 'l1' or 'l2', default: 'l2':正则项,默认为l2。三种求解方式只支持L2
2,dual : bool, default: False:是否转化为对偶问题
3,C : float, default: 1.0:正则项系数的逆序,越大越过拟合。
4,fit_intercept : bool, default: True:是否添加常数到决策函数中
5,intercept_scaling : float, default 1:是否对样本采样
6,class_weight : dict or 'balanced', default: None:类别权重
7,max_iter : int, default: 100:最大迭代次数
8,random_state : int seed, RandomState instance, default: None:随机种子
9,solver : {'newton-cg', 'lbfgs', 'liblinear', 'sag'}, default: 'liblinear':优化问题求解算法
10,multi_class : str, {'ovr', 'multinomial'}, default: 'ovr':多分类问题的求解方案
1, 线性分类器与非线性分类器的区别以及优劣
2, 为什么LR要使用Sigmod函数?
3,何为共线性, 跟过拟合有啥关联?
(1)完全共线性下参数估计量不存在
(2)近似共线性下OLS估计量非有效
(3)参数估计量经济含义不合理
(4)变量的显著性检验失去意义,可能将重要的解释变量排除在模型之外
(5)模型的预测功能失效。变大的方差容易使区间预测的“区间”变大,使预测失去意义。
(6)共线性会造成冗余,导致过拟合。
解决方法:
(1)排除变量的相关性/加入权重正则
(2)排除引起共线性的变量,找出引起多重共线性的解释变量,将它排除出去,以逐步回归法得到最广泛的应用。
(3)差分法,时间序列数据、线性模型:将原模型变换为差分模型。
(4)减小参数估计量的方差:岭回归法(Ridge Regression)。
4, 如何判断函数凸或非凸?
首先定义凸集,如果x,y属于某个集合C,并且所有的 也属于c,那么c为一个凸集,进一步,如果一个函数其定义域是凸集,则该函数为凸函数。上述条件还能推出更一般的结果,如果函数有二阶导数,那么如果函数二阶导数为正,或者对于多元函数,Hessian矩阵半正定则为凸函数。(也可能引到SVM,或者凸函数局部最优也是全局最优的证明,或者上述公式期望情况下的Jessen不等式)。
5,L1和L2正则的区别,如何选择L1和L2正则?L1在0处不可导,怎么处理
他们都是可以防止过拟合,降低模型复杂度
L1是在loss function后面加上模型参数的1范数(也就是|xi|)L0范数的最小化问题在实际应用中是NP难问题,无法实际应用
L2是在loss function后面加上模型参数的2范数(也就是sigma(xi^2)),注意L2范数的定义是sqrt(sigma(xi^2)),在正则项上没有添加sqrt根号是为了更加容易优化
L1 会产生稀疏的特征
L2 会产生更多地特征但是都会接近于0
L1会趋向于产生少量的特征,而其他的特征都是0,而L2会选择更多的特征,这些特征都会接近于0。L1在特征选择时候非常有用,而L2就只是一种规则化而已。
L1对应拉普拉斯分布,L2对应高斯分布,L1偏向于参数稀疏性,L1不可导可以使用近似算法或者ADMM来解决
6,为什么一些机器学习模型需要对数据进行归一化?
归一化化就是要把你需要处理的数据经过处理后(通过某种算法)限制在你需要的一定范围内。
1) 归一化后加快了梯度下降求最优解的速度。等高线变得显得圆滑,在梯度下降进行求解时能较快的收敛。如果不做归一化,梯度下降过程容易走之字,很难收敛甚至不能收敛
2) 把有量纲表达式变为无量纲表达式, 有可能提高精度。一些分类器需要计算样本之间的距离(如欧氏距离),例如KNN。如果一个特征值域范围非常大,那么距离计算就主要取决于这个特征,从而与实际情况相悖(比如这时实际情况是值域范围小的特征更重要)
3) 逻辑回归等模型先验假设数据服从正态分布。
4) 归一化的类型有线性归一化、标准差归一化、非线性归一化
7, 归一化和标准化的区别?
1) 把数据变成(0,1)之间的小数
2) 把有量纲表达式变成无量纲表达
常见的有线性转换、对数函数转换、反余切函数转换等
标准化:
数据的标准化(normalization)是将数据按比例缩放,使之落入一个小的特定区间。在某些比较和评价的指标处理中经常会用到,去除数据的单位限制,将其转化为无量纲的纯数值,便于不同单位或量级的指标能够进行比较和加权。
1 ) 最小-最大规范化(线性变换)
y=((x-MinValue) / (MaxValue-MinValue))(new_MaxValue-new_MinValue)+new_minValue
2)z-score规范化(或零-均值规范化)
y=(x-X的平均值)/X的标准差
3)小数定标规范化:通过移动X的小数位置来进行规范化
y= x/10的j次方 (其中,j使得Max(|y|) <1的最小整数
4)对数Logistic模式: 新数据=1/(1+e^(-原数据))
5)模糊量化模式: 新数据=1/2+1/2sin[3.1415/(极大值-极小值)]