非监督学习之生成数据集
生成用于聚类的各向同性高斯分布数据集:
import sklearn.datasets
sklearn.datasets.make_blobs(n_samples=100, n_features=2, *, centers=None,
cluster_std=1.0, center_box=- 10.0, 10.0, shuffle=True,
random_state=None, return_centers=False)
回归问题
线性回归
使拟合出的平面到数据点的距离差异最小,为了使这种距离可导,采用二范数表达点到拟合平面的距离。
模型假设:
H
(
x
)
=
w
T
x
H(x) = w^{T}\boldsymbol{x}
H(x)=wTx
损失函数:
L
(
w
)
=
∑
i
=
1
N
∣
∣
w
T
x
i
−
y
i
∣
∣
2
2
=
∑
i
=
1
N
(
w
T
x
i
−
y
i
)
2
=
(
w
T
X
T
−
Y
T
)
(
w
T
X
T
−
Y
T
)
T
=
w
T
X
T
X
w
−
2
w
T
X
T
Y
+
Y
Y
T
L(w) = \sum\limits_{i=1}^{N}||w^Tx_i-y_i||_2^2=\sum\limits_{i=1}^{N}(w^Tx_i-y_i)^2 = (w^TX^T-Y^T)(w^TX^T-Y^T)^T \\= w^TX^TXw - 2w^TX^TY+YY^T\\
L(w)=i=1∑N∣∣wTxi−yi∣∣22=i=1∑N(wTxi−yi)2=(wTXT−YT)(wTXT−YT)T=wTXTXw−2wTXTY+YYT
求使得
L
(
w
)
L(w)
L(w)最小的参数
w
w
w即线性回归的最小二乘估计,解得
w
=
(
X
T
X
)
−
1
X
T
Y
w = (X^{T}X)^{-1}X^{T}Y
w=(XTX)−1XTY
多项式回归
y
i
=
w
0
+
w
1
x
i
+
w
2
x
i
2
+
.
.
.
+
w
d
x
i
d
y_i = w_0 + w_1x_i + w_2x_i^2 + ...+w_dx_i^d
yi=w0+w1xi+w2xi2+...+wdxid
一般而言d<5
广义可加模型(GAM)
用非线性函数来代替每一个自变量
y
i
=
w
0
+
∑
i
=
1
n
f
i
(
x
i
)
y_{i} =w_{0}+ \sum_{i=1}^{n}f_{i}(x_{i})
yi=w0+i=1∑nfi(xi)
优点:模型易解释,简单
缺点:模型不够复杂
回归树
非线性
sklearn.tree
依据分层和分割的方式将特征空间划分为一系列简单的区域,使用训练集的平均数或者众数对其进行预测。决策树由结点(node)和有向边(diredcted edge)组成。结点有两种类型:内部结点(internal node)和叶结点(leaf node)。
不同的分割方法求loss,以最小loss的分割方法为此节点的分割方法
优点:
- 树模型的解释性强,在解释性方面可能比线性回归还要方便;
- 树模型可以直接做定性的特征而不需要像线性回归一样哑元化(哑编码)。
- 能很好处理缺失值和异常值,对异常值不敏感
支持向量回归
约束优化问题之KKT条件
对偶问题:将难以解决的原问题转换成对偶问题,任何一个原问题在变成对偶问题后都会变成一个凸优化的问题。