K-means
1.把点分配给距离它最近的质心
2.重新移动质心(将质心移动到该类所有点的均值处)
μ
k
:
第
k
个质心
μ_k:第k个质心
μk:第k个质心
c
i
:
x
i
属于的类
c^i:x^i属于的类
ci:xi属于的类
μ
c
i
:
x
i
属于的类的的质心
μ_{c^i}:x^i属于的类的的质心
μci:xi属于的类的的质心
cost function:
J
(
c
1
,
.
.
.
,
c
m
,
μ
1
,
.
.
.
,
μ
k
)
=
1
m
∑
i
=
1
m
∣
∣
x
i
−
μ
c
i
∣
∣
2
J(c^1,...,c^m,μ_1,...,μ_k)=\frac{1}{m}\sum_{i=1}^{m}{||x^i-μ_{c^i}||}^2
J(c1,...,cm,μ1,...,μk)=m1∑i=1m∣∣xi−μci∣∣2
初始化K-means:
- k<m
- 随机选择m中的k个点作为质心
- 容易陷入局部最优解,因此要多次选择不同初始化质心进行计算,选择最优的
异常检测算法
检测标准:P(x)<ɛ
异常检测算法的“异常值”样本通常都很少
eg:10000组正常数据和20组异常数据
训练集:6000组正常数据
交叉验证集:2000组正常数据,10组异常数据
测试集:2000组正常数据,10组异常数据
或
训练集:6000组正常数据
交叉验证集:4000组正常数据,20组异常数据
无测试集
异常检测与监督学习对比
异常检测 | 监督学习 |
---|---|
异常值无规律,出错的地方可能各不相同 | 异常比较固定 |
探索未知的缺陷 | 发现已知的缺陷 |
飞行器故障检测 | 垃圾邮件检测 |
特征选择
直方图绘制特征x,可通过
x
2
,
x
n
,
x
,
l
o
g
x
x^2,x^n,\sqrt{x},logx
x2,xn,x,logx等等,让数据更加符合正态分布
也可以根据特征的含义,将已有的数据进行组合,想出相加相乘等等