此篇文章旨在整理 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] 目标函数数学表达式:[wmin∣∣Xw−y∣∣22]
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}] 目标函数数学表达式:[wmin∣∣Xw−y∣∣22+α∣∣w∣∣22]
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}] 目标函数数学表达式:[wmin2nsamples1∣∣Xw−y∣∣22+α∣∣w∣∣1]
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}}]
目标函数数学表达式:[wmin2nsamples1∣∣XW−Y∣∣Fro2+α∣∣W∣∣21]
其
中
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}]
其中Fro表示Frobinus标准:[∣∣A∣∣Fro=ij∑aij2]
混合
[
ℓ
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}]
[∣∣A∣∣21=i∑j∑aij2]
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}] 目标函数数学表达式:[wmin2nsamples1∣∣Xw−y∣∣22+αρ∣∣w∣∣1+2α(1−ρ)∣∣w∣∣22]
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}] 数学表达式:[Wmin2nsamples1∣∣XW−Y∣∣Fro2+αρ∣∣W∣∣21+2α(1−ρ)∣∣W∣∣Fro2]
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(y∣X,w,α)=N(y∣Xw,α)]
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]