回归
- L1和L2正则化的区别
正则化是结构风险最小化策略的实现,是在经验风险上加一个正则化项或惩罚项。正则化项是模型复杂度的单调递减函数,模型越复杂,正则化值就越大。
正则化一般具有如下形式:
m
i
n
1
N
∑
i
=
1
N
L
(
y
i
,
f
(
x
i
)
)
+
λ
J
(
f
)
min \frac{1}{N}\sum_{i=1}^NL(y_i,f(x_i))+\lambda J(f)
minN1?∑i=1N?L(yi?,f(xi?))+λJ(f) 其中,第1项是经验风险,第2项是正则化项,
λ
≥
0
\lambda\geq0
λ≥0为调整两者之间关系的系数。
L
1
L_1
L1?正则化可以是参数向量的
L
1
L_1
L1?范数:
L
(
ω
)
=
1
N
∑
i
=
1
N
(
f
(
x
i
;
ω
)
?
y
i
)
2
+
λ
∥
ω
∥
1
L(\omega)=\frac{1}{N}\sum_{i=1}^N(f(x_i;\omega)-y_i)^2+\lambda\Vert\omega\Vert_1
L(ω)=N1?∑i=1N?(f(xi?;ω)?yi?)2+λ∥ω∥1?
L
2
L_2
L2?正则化可以是参数向量的
L
2
L_2
L2?范数:
L
(
ω
)
=
1
N
∑
i
=
1
N
(
f
(
x
i
;
ω
)
?
y
i
)
2
+
λ
2
∥
ω
∥
2
L(\omega)=\frac{1}{N}\sum_{i=1}^N(f(x_i;\omega)-y_i)^2+\frac{\lambda}{2}\Vert\omega\Vert^2
L(ω)=N1?∑i=1N?(f(xi?;ω)?yi?)2+2λ?∥ω∥2
用
L
1
L_1
L1?损失函数的好处: 鲁棒性更强,对异常值更不敏感。 用
L
2
L_2
L2?损失函数的好处: 计算方便,可以直接求导获得取最小值时各个参数的取值。
- Loss Function有哪些,怎么用?
统计学习常用的损失函数有以下几种: 1)0-1损失函数 2)平方损失函数
L
(
Y
,
f
(
X
)
)
=
(
Y
?
f
(
X
)
)
2
L(Y,f(X))=(Y-f(X))^2
L(Y,f(X))=(Y?f(X))2
3)绝对损失函数
L
(
Y
,
f
(
X
)
)
=
∣
Y
?
f
(
X
)
∣
L(Y,f(X))=|Y-f(X)|
L(Y,f(X))=∣Y?f(X)∣
4)对数损失函数或对数似然损失函数
L
(
Y
,
P
(
Y
∣
X
)
)
=
?
l
o
g
P
(
Y
∣
X
)
L(Y,P(Y|X))=-logP(Y|X)
L(Y,P(Y∣X))=?logP(Y∣X)
- 线性回归的表达式
线性模型用向量形式写成
f
(
x
)
=
ω
T
x
+
b
f(x)=\omega^Tx+b
f(x)=ωTx+b
- 线性回归的损失函数
损失函数:
(
ω
?
,
b
?
)
=
a
r
g
(
w
,
b
)
m
i
n
∑
i
=
1
m
(
f
(
x
i
)
?
y
i
)
2
=
a
r
g
(
w
,
b
)
m
i
n
∑
i
=
1
m
(
y
i
?
ω
x
i
?
b
)
2
(\omega^*,b^*)=arg_{(w,b)}min\sum_{i=1}^m(f(x_i)-y_i)^2\\=arg_{(w,b)}min\sum_{i=1}^m(y_i-\omega x_i-b)^2
(ω?,b?)=arg(w,b)?min∑i=1m?(f(xi?)?yi?)2=arg(w,b)?min∑i=1m?(yi??ωxi??b)2
- 哪些传统的回归机器学习模型
线性回归、岭回归、套索回归
聚类
- DBSCAN原理
几个概念的定义: 1)
?
?
\epsilon-
??邻域:对
x
j
∈
D
x_j\in D
xj?∈D,其
?
?
\epsilon-
??邻域包含样本集
D
D
D中与
x
j
x_j
xj?的距离不大于
?
\epsilon
?的样本,即
N
?
(
x
j
)
=
x
j
∈
D
∣
d
i
s
t
(
x
i
,
x
j
)
≤
?
N_{\epsilon}(x_j)={x_j\in D|dist(x_i,x_j)}\leq\epsilon
N??(xj?)=xj?∈D∣dist(xi?,xj?)≤? 2)核心对象:若
x
j
x_j
xj?的
?
?
\epsilon-
??邻域至少包含
M
i
n
P
t
s
MinPts
MinPts个样本,即
∣
N
?
(
x
j
)
∣
≥
M
i
n
P
t
s
|N_{\epsilon}(x_j)|\geq MinPts
∣N??(xj?)∣≥MinPts,则
x
j
x_j
xj?是一个核心对象 3)密度直达:若
x
j
x_j
xj?位于
x
i
x_i
xi?的
?
?
\epsilon-
??邻域中,且
x
i
x_i
xi?是核心对象,则成
x
j
x_j
xj?由
x
i
x_i
xi?密度直达 4)密度可达:对
x
i
x_i
xi?与
x
j
x_j
xj?,若存在样本序列
p
1
,
p
2
,
.
.
.
,
p
n
p_1,p_2,...,p_n
p1?,p2?,...,pn?,其中
p
1
=
x
i
,
p
n
=
x
j
p_1=x_i,p_n=x_j
p1?=xi?,pn?=xj?且
p
i
+
1
p_{i+1}
pi+1?由
p
i
p_{i}
pi?密度直达,则称
x
j
x_j
xj?由
x
i
x_i
xi?密度可达 5)密度相连:对
x
i
x_i
xi?与
x
j
x_j
xj?,若存在
x
k
x_k
xk?使得
x
i
x_i
xi?与
x
j
x_j
xj?均由
x
k
x_k
xk?密度可达,则称
x
i
x_i
xi?与
x
j
x_j
xj?密度相连。 这里,
M
i
n
P
t
s
=
3
MinPts=3
MinPts=3,虚线显示出
?
?
\epsilon-
??邻域,
x
1
x_1
x1?是核心对象,
x
2
x_2
x2?由
x
1
x_1
x1?密度直达,
x
3
x_3
x3?由
x
1
x_1
x1?密度可达,
x
3
x_3
x3?与
x
4
x_4
x4?密度相连。
1)DBSCAN通过检查数据集中每点的
?
?
\epsilon-
??来搜索簇,如果点p的
?
?
\epsilon-
??邻域包含的点多于
M
i
n
P
t
s
MinPts
MinPts个,则创建一个以p为核心对象的簇。 2)然后,DBSCAN迭代地聚集从这些核心对象直接密度可达的对象,这个过程可能涉及一些密度可达簇的合并。 3)当没有新的点添加到任何簇时,该过程结束。
- DBSCAN算法伪代码
- DBSCAN的优缺点
优点: 基于密度定义,相对抗噪声,能处理任意形状和大小的簇 缺点: 1)当簇的密度变化太大时,会有麻烦 2)对于高维问题,密度定义是个比较麻烦的问题
- k-means算法流程
- KMeans原理
给定样本集
D
=
{
x
1
,
x
2
,
.
.
.
,
x
m
}
D=\{x_1,x_2,...,x_m\}
D={x1?,x2?,...,xm?},“k-均值”算法针对聚类所得簇划分
C
=
{
C
1
,
C
2
,
.
.
.
,
C
k
}
C=\{C_1,C_2,...,C_k\}
C={C1?,C2?,...,Ck?}最小化平方误差:
E
=
∑
i
=
1
k
∑
x
∈
C
i
∥
x
?
μ
i
∥
2
2
E=\sum_{i=1}^k\sum_{x\in C_i}\Vert x-\mu_i\Vert^2_2
E=∑i=1k?∑x∈Ci??∥x?μi?∥22?
其中
μ
i
=
1
∣
C
i
∣
∑
x
∈
C
i
x
\mu_i=\frac{1}{|C_i|}\sum_{x\in C_i}x
μi?=∣Ci?∣1?∑x∈Ci??x是簇
C
i
C_i
Ci?的均值向量。
上式在一定程度上刻画了簇内样本围绕簇均值向量的紧密程度,
E
E
E值越小则簇内样本相似度越高。
- KMeans的K怎么确定
1)肘部法 肘部法所使用的聚类评价指标: 数据集中所有样本点到其簇中心的距离之和的平方,肘部法选择的是误差平方和突然变小时对应的
k
k
k值。
2)轮廓系数 对于第
i
i
i个对象,计算它到簇中所有其他对象的平均距离,记作
a
i
a_i
ai? 对于第
i
i
i个对象和不包含该对象的任意簇,计算该对象到给定簇中所有对象的平均距离,关于所有的簇,找出最小值,记作
b
i
b_i
bi?
样本点
i
i
i的轮廓系数:
s
(
i
)
=
b
(
i
)
?
a
(
i
)
m
a
x
(
a
(
i
)
,
b
(
i
)
)
s(i)=\frac{b(i)-a(i)}{max(a(i),b(i))}
s(i)=max(a(i),b(i))b(i)?a(i)?
轮廓系数
S
S
S越接近于1,聚类效果越好。
- Kmeans的优缺点
优点: 1)算法简单 2)适用于球形簇 3)二分k均值等变种算法运行良好,不受初始化问题的影响 缺点: 1)不能处理非球形簇、不同尺寸和不同密度的簇 2)对离群点、噪声敏感
- DBSCAN与k-means比较
1)k均值聚类是基于划分的聚类,DBSCAN是基于密度的聚类 2)k均值聚类需要指定聚类簇数k,并且初始聚类中心对聚类的影响很大。DBSCAN对噪声不敏感,需要指定邻域距离阈值
?
\epsilon
?和
M
i
n
P
t
s
MinPts
MinPts,可以自动确定簇个数 3)k均值很难处理非球型的簇和不同尺寸的簇,DBSCAN可以处理不同尺寸或形状的簇,不太受噪声、离群点的影响。但是面对不同密度的簇时,两种算法的性能都很差。
|