【机器学习】人像分类(一)——过程总结

本文介绍了使用PCA和K-Means进行人像分类的项目过程,包括输入数据处理、PCA降维、K-Means聚类的实现与问题解决,以及在遇到的终止条件判断、变量作用域等问题上的解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  这个问题其实是上学期某门课的大作业的三个题目之一。公布题目后我就对这个内容很感兴趣,然而由于种种原因,和队友商量之后仍然选择了看起来最简单的句子分类,对此我不无遗憾。
  这个寒假里计划要干的事情其实有很多,完成这个项目是其中之一;对CS的热门方向——如机器学习等听起来神乎其神的领域——有所了解也在ToDo-List上。据说最好的学习方式是learning in projects,不如趁此机会巩固一下python。

问题描述

  给定一组内容是两个人在不同光线条件、不同表情下拍摄的面部照片,将照片按照人物分成两类。
  
输入
  10个2016维的向量。每张照片有2016个“像素点”,输入数据对应着10张照片的灰度图。
  
输出
  属于人物1的照片编号,和属于人物2的照片编号。

过程

  1. 处理输入

      由于PCA有现成的库,K-Means聚类的过程也相对清晰,因此处理输入数据相关事宜的耗时可能要占去1/3。
      最为智障的是,一开始我以为input.txt中第i * 2016 ~ ((i + 1) * 2016 - 1)个数是第一幅图的灰度值,聚类聚了半天却发现怎么都不对,场面一度十分尴尬;直到发现灰度图也无法还原,我才意识到可能文件中每一列是一幅图片的灰度向量……
      

  2. PCA降维
      因为没有学过高等代数,所以这部分我一直寄希望于现成的库。对于PCA的数学原理,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值