Python 机器学习笔记 - 广义线性模型算法分类整理汇总( from sklearn)

此篇文章旨在整理 sklearn 中的模型,方便个人学习以及查找方便,关于模型的介绍均来自于 sklearn 在 GitHub 上的开源文档sklearn 中文开源文档 GitHub地址

一.回归

1.1 广义线性模型

1.1.1 最小二乘法-LinearRegression:即求解预测值与实际值的残差平方和最小值。

目 标 函 数 数 学 表 达 式 : [ m i n   w ∣ ∣ X w − y ∣ ∣ 2 2 ] 目标函数数学表达式: [\underset{w}{min\,} {|| X w - y||_2}^2] [wminXwy22]

1.1.2 岭回归-Ridge:最小二乘法的基础上施加惩罚因子 α \alpha α

目 标 函 数 数 学 表 达 式 : [ m i n   w ∣ ∣ X w − y ∣ ∣ 2 2 + α ∣ ∣ w ∣ ∣ 2 2 ] 目标函数数学表达式: [\underset{w}{min\,} {{|| X w - y||_2}^2 + \alpha {||w||_2}^2}] [wminXwy22+αw22]

1.1.3 Lasso(Lasso 及其变体是压缩感知领域的基础):拟合稀疏系数的模型,其内核采用坐标下降法实现系数的拟合。

目 标 函 数 数 学 表 达 式 : [ m i n   w 1 2 n s a m p l e s ∣ ∣ X w − y ∣ ∣ 2 2 + α ∣ ∣ w ∣ ∣ 1 ] 目标函数数学表达式: [\underset{w}{min\,} { \frac{1}{2n_{samples}} ||X w - y||_2 ^ 2 + \alpha ||w||_1}] [wmin2nsamples1Xwy22+αw1]

1.1.4 多任务 Lasso-MultiTaskLasso:一个估计多元回归稀疏系数的线性模型,其内核采用坐标下降算法实现系数拟合。

目 标 函 数 数 学 表 达 式 : [ m i n   w 1 2 n s a m p l e s ∣ ∣ X W − Y ∣ ∣ F r o 2 + α ∣ ∣ W ∣ ∣ 21 ] 目标函数数学表达式: [\underset{w}{min\,} { \frac{1}{2n_{samples}} ||X W - Y||_{Fro} ^ 2 + \alpha ||W||_{21}}] [wmin2nsamples1XWYFro2+αW21]
其 中 F r o 表 示 F r o b i n u s 标 准 : [ ∣ ∣ A ∣ ∣ F r o = ∑ i j a i j 2 ] 其中 Fro表示Frobinus 标准: [||A||_{Fro} = \sqrt{\sum_{ij} a_{ij}^2}] FroFrobinus:[AFro=ijaij2 ]
混合 [ ℓ 1 [\ell_1 [1 ℓ 1 ] \ell_1] 1]:
[ ∣ ∣ A ∣ ∣ 21 = ∑ i ∑ j a i j 2 ] [||A||_{2 1} = \sum_i \sqrt{\sum_j a_{ij}^2}] [A21=ijaij2 ]

1.1.5 弹性网络-ElasticNet:一种使用 L1, L2 范数作为先验正则项训练的线性回归模型,较适用于多特征相互联系的情况下。

目 标 函 数 数 学 表 达 式 : [ m i n   w 1 2 n s a m p l e s ∣ ∣ X w − y ∣ ∣ 2 2 + α ρ ∣ ∣ w ∣ ∣ 1 + α ( 1 − ρ ) 2 ∣ ∣ w ∣ ∣ 2 2 ] 目标函数数学表达式: [\underset{w}{min\,} { \frac{1}{2n_{samples}} ||X w - y||_2 ^ 2 + \alpha \rho ||w||_1 +\frac{\alpha(1-\rho)}{2} ||w||_2 ^ 2}] [wmin2nsamples1Xwy22+αρw1+2α(1ρ)w22]

1.1.6 多任务弹性网络-MultiElasticNet:一种混合 [ ℓ 1 [\ell 1 [1 ℓ 2 ] 先 验 \ell2]先验 2] ℓ 2 \ell2 2先验为正则项的线性模型。

数 学 表 达 式 : [ m i n   W 1 2 n s a m p l e s ∣ ∣ X W − Y ∣ ∣ F r o 2 + α ρ ∣ ∣ W ∣ ∣ 21 + α ( 1 − ρ ) 2 ∣ ∣ W ∣ ∣ F r o 2 ] 数学表达式: [\underset{W}{min\,} { \frac{1}{2n_{samples}} ||X W - Y||_{Fro}^2 + \alpha \rho ||W||_{2 1} +\frac{\alpha(1-\rho)}{2} ||W||_{Fro}^2}] [Wmin2nsamples1XWYFro2+αρW21+2α(1ρ)WFro2]

1.1.7 最小角回归(LARS):与逐步回归类似,其计算时每一步都在寻找与响应最相关联的预测,当有很多预测有相关联时,它并不会利用相同的预测,而是在关联预测中寻找等角的方向

1.1.8 正交匹配追踪法-OrthogonalMatchingPursuit:OMP 是一个基于每一步的贪心算法,每一步元素都与当前残差高度相关,其每一次迭代,都会利用正交投影到之前选择的字典元素中重新计算残差

1.1.9 贝叶斯回归:可用于预估阶段的参数正则化,正则化参数并非通过人为选择,而是通过手动调节数据值来实现。

算 法 中 引 入 的 贝 叶 斯 全 概 率 模 型 : [ p ( y ∣ X , w , α ) = N ( y ∣ X w , α ) ] 算法中引入的贝叶斯全概率模型: [p(y|X,w,\alpha) = \mathcal{N}(y|X w,\alpha)] [p(yX,w,α)=N(yXw,α)]

1.1.9.1 贝叶斯岭回归-BayesianRidge
1.1.9.2 主动相关决策理论-ARDRegression

1.1.10 随机梯度下降-SGDRegression:

1.1.11 感知器-Perceptron:

1.1.12 被动攻击算法-PassiveAggressiveRegressor

1.1.13 稳健回归-RobustRegression:处理离群点和模型错误

1.1.14 sklearn提供了三种稳健回归的预测器(estimator): RANSAC , Theil Sen 和 HuberRegressor

1.1.14.1 随机抽样一致性算法-RANSAC:这是一种非确定性算法,以一定概率输出正确结果,依赖于迭代次数(max_trial), 在计算机视觉摄影测绘领域应用广泛
1.1.14.2 Theil-Sen 预估器, 广义中值估计器(generalized-median-based estimator-TheilSenRegressor:其在无偏估计方面媲美OLS(普通最小二乘法),Theil-Sen基于中值估计,因此它更适合损坏数据即离群点,容忍损坏数据比例高达29.3%
1.1.14.3 HuberRegressor:HuberRegressor 与 Ridge 不同,因为它对于被分为异常值的样本应用了一个线性损失。如果这个样品的绝对误差小于某一阈值,样品就被分为内围值。建议设置参数 epsilon 为 1.35 以实现 95% 统计效率。

三者速度比较:
HuberRegressor 一般快于 RANSAC 和 Theil Sen ,除非样本数很大,即 n_samples >> n_features 。 这是因为 RANSAC 和 Theil Sen 都是基于数据的较小子集进行拟合。
RANSAC 比 Theil Sen 更快,在样本数量上的伸缩性(适应性)更好。
RANSAC 能更好地处理y方向的大值离群点(通常情况下)。
Theil Sen 能更好地处理x方向中等大小的离群点,但在高维情况下无法保证这一特点。 实在决定不了的话,请使用 RANSAC

1.1.15 多项式回归-PolynomialFeatures:用基函数展开线性模型

数学模型解释:
初 始 模 型 : [ y ^ ( w , x ) = w 0 + w 1 x 1 + w 2 x 2 ] 初始模型:[\hat{y}(w, x) = w_0 + w_1 x_1 + w_2 x_2] [y^(w,x)=w0+w1x1+w2x2]
==》
[ y ^ ( w , x ) = w 0 + w 1 x 1 + w 2 x 2 + w 3 x 1 x 2 + w 4 x 1 2 + w 5 x 2 2 ] [\hat{y}(w, x) = w_0 + w_1 x_1 + w_2 x_2 + w_3 x_1 x_2 + w_4 x_1^2 + w_5 x_2^2] [y^(w,x)=w0+w1x1+w2x2+w3x1x2+w4x12+w5x22]
即原有的特征 [ 1 , x 1 , x 2 ] [1,x_1,x_2] [1,x1,x2]扩展为 [ 1 , x 1 , x 2 , x 1 2 , x 1 2 , x 1 x 2 ] [1,x_1,x_2,x_1^2, x_1^2,x_1x_2] [1,x1,x2,x12,x12,x1x2]

二.分类

2.1 logistic 回归-LogisticRegression:基于交叉熵分类

2.1.1 内部优化算法:liblinear, newton-cg, lbfgs,sag 和 saga。

2.1.1.1 liblinear:应用了坐标下降算法,基于 c++库 LIBLINEAR library实现,其并非真正意义上的多分类器,而是基于 “one vs rest”思想,为每一个类别创建一个二分类器
2.1.1.2 lbfgs:只支持 L2 正则项以及无正则项,对于小数据集具有较好的性能,大数据集性能会受到影响
2.1.1.3 sag/saga:基于平均随机梯度下降算法,在大数据集上表现的更快

2.2 随机梯度下降算法:适用于大数据集,且支持在线学习(partial fit())

2.2.1 SGDClassifier:

2.3 被动攻击算法-PassiveAggressiveClassifier

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值