模式识别的三大核心问题包括:
特征选择 和 特征变换 都能够达到降维的目的,但是两者所采用的方式方法是不同的。
特征提取 主要是通过分析特征间的关系,变换原来特征空间,从而达到压缩特征的目的。主要方法有:主成分分析(PCA)、离散K-L变换法(DKLT)等。
特征选择 选择方法是从原始特征集中挑选出子集,是原始特征的选择和组合,并没有更改原始特征空间,特征选择的过程必须确保不丢失重要特征。主要方法有:遗传算法(GA)、统计检验法、分支定界法等。
这里主要讲讲特征选择中 遗传算法 以及它的R语言实现(因为要写作业,虽然不一定写对了)。
遗传算法受进化论启发,根据“物竞天择,适者生存”这一规则,模拟自然界进化机制,寻找目标函数的最大值。
采用遗传算法对男女生样本数据中的身高、体重、鞋码、50m成绩、肺活量、是否喜欢运动共6个特征进行特征选择。
由于有6个特征,因此选用6位0/1进行编码,1表示选中该特征。
适应度函数的实现
示例
结果如下
有什么不对的地方欢迎大家在评论区指出。
用r语言实现对6个样品19,21,25,8,11,13的k均值法聚类用kmeans函数即可:
a=c(19,21,25,8,11,13)kmeans(a,2)
k=2的分类效果
其中输出结果为,19,21,25为类别1,均值为21.66667;8,11,13则为类别2均值为10.66667
因为数据只有一维,再加点可视化:
红点类均值,黑点样本值,横坐标类别
a=c(19,21,25,8,11,13)
km=kmeans(a,2)
plot(km$cluster,a)
lines(km$cluster,km$centers[km$cluster],col='red',type='p')