k近邻
k邻近学习是一种常用的监督学习。其工作机制:给定测试样本,基于某种度量找出与测试样本最靠近的K个训练样本,在分类任务中是基于K个“邻居”样本的类别投票法来确定测试样本的类别,在回归任务中是基于K个“邻居”样本输出标记的平均值作为预测结果。
k邻近学习缺陷与优点
- k邻近称为“懒惰学习”:训练阶段仅仅保存训练样本,训练时间开销为0,待收到测试样本后才进行学习
- 不同距离计算导致不同的结果”
- 假设样本独立同分布 ,对任意x和任意小整数a,在x的附近a距离总能找到一个训练样本z。则 c∗=argmaxxϵYP(c|x) 表示贝叶斯最优分类器。经过推导可以得到K近邻泛化错误不超过贝叶斯最优分类器的2倍。想要维持K邻近低范化错误,则训练样本密度必须足够大。对于高维而言,若每一个属性维度的训练样本的密度都很大,这会导致训练样本数量急剧增加,就出现了’维数灾难‘。
主成分分析PCA
PCA是一种对原始高维空间进行线性变换从而获得低维空间,并期望在所投影的维度上数据的方差最大,以此使用较少的数据维度,同时保留住较多的原数据点的特性。
需要注意PCA属于特征抽取不属于特征选择。给定d维空间中的样本 X=(x1,x2,...xm)∈Rd×m 变换之后得到d’<=d维
Z=WTX
W=(w1,w2,...wm)∈Rd×d′ 是变换矩阵,Z是新空间中的向量
帮助理解这里有小插曲
- A⋅B=|A||B|cos(a) A与B的内积等于A到B的投影长度乘以B的模。
设向量B的模为1,A⋅B=|A|cos(a),则A与B的内积值等于A向B所在直线投影的矢量长度
要准确描述向量,首先要确定一组基,然后给出在基所在的各个直线上的投影值
- 在直角坐标系中的向量(x,y)实际上表示线性组合:x(1,0)T+y(0,1)T
- 两个矩阵相乘的意义是将右边矩阵中的每一列列向量变换到左边矩阵中每一行行向量为基所表示的空间中去
根据以上的预备知识可以理解原属性 xi 是在新坐标(一组基) (w1,w2,...wm) 的作用下得到 zi ( xi 代表右边矩阵的每一列向量)。若 wi 与 wj (i,j不相等)则新坐标系是一个正交坐标系,W为正交变换,则低维新空间中的属性是高维原始空间属性的线性组合。
现在进入正题,对于正交属性的空间中的样本点,如何用一个超平面(直线的高维推广)对所有样本进行恰当的表达?
- 最近重构性:样本点到这个平面的距离都足够近
- 最大可分性:样本点在这个超平面的投影都尽可能分开
最近重构性和最大可分性可以得到两种主成分的等价推导,以下推导是从最近重构性角度来出发。
- 假定样本进行了中心化即 ∑xi=0