kNN
- 首先,k近邻是一种监督学习方法;
- 它的基本思路是这样的:
给定测试样本,基于某种距离度量找出训练集中与其最靠近的k个训练样本,然后基于这k个邻居的信息来进行预测。如果是分类问题就用投票发,回归问题就用平均法。 - 它的特点是,没有显式的训练过程,lazy learning的代表
- 影响k近邻效果的两个因素;
- k值的选取,灰常重要,不同的k可能会导致不同的预测结果
- 距离度量方式的选择(前面聚类方法中有提到过常用的距离度量方法)
PCA降维
主成分分析。
从最大可分性的要求进行推导:我们的目标是希望在新空间中的超平面上,样本点的投影尽可能分开,一种数学表达就是投影后的样本点的方差最大化。
假设样本点
xi
x
i
在新空间的投影为:
WTxi
W
T
x
i
,由于样本已经中心化了,所以投影后的样本点的方差是:
∑iWTxixTiW
∑
i
W
T
x
i
x
i
T
W
,于是优化目标就可以写为:
算法流程如下:
- 输入:样本集D,低维空间维数 d′ d ′
- 1.首先对样本进行中心化: xi←xi−1m∑mi=1xi x i ← x i − 1 m ∑ i = 1 m x i
- 2.计算样本的协方差矩阵 XXT X X T
- 3.对协方差矩阵进行特征值分解
- 4.取最大的 d′ d ′ 个特征值所对应的特征向量
- 输出:投影矩阵 W=(w1,w2,…,wd′) W = ( w 1 , w 2 , … , w d ′ )
trick:
d′
d
′
的设置:用户指定或者通过在
d′
d
′
值不同的低维空间中对k近邻分类器进行交叉验证来选取较好的
d′
d
′
值。
另外,可以用奇异值分解方法来代替特征值分解