机器学习当中,有两个算法以『K』开头,Knn和K-means,这里面的K,都是代表数量选择,前者代表参与比较的『近邻』数量,后者代表分组的数量。K-means是『聚类分析』的常用算法,目的是对一组数据进行分类。
和knn类似,K-means算法的依据也是距离,根据每组数值间的距离,来进行一批数据的分组或分类。knn的场景多为『监督学习』,即有目标地将某条记录分类到已有的类别当中。而K-means算法,属于『无监督』学习,计算前并没有特定的分类,而是直接通过算法进行分类,然后再人工进行判断调整。
由于算法的关系,k的数量极大影响分类的准确度,可以想象的是,分类越多,则组内相似度肯定越高,但容易出现过度拟合或无实际意义;分类约少相似度则相对差,但容错性好些。选择合适的k值,需要精巧的平衡。经验值一般是n/2的平方根。即1000个样本的分类数量大约是23。但多数情况,需要在了解数据背景的基础上,有一个大致的判断。
K-means经常用于社交网络或电商人群的『大数据』分析,将用户分为各种不同的类别,再有针对性地进行分析和运营。与之类似,在医学领域,可以用于没有明显规律的数据分析,例如针对大量人群的流行病学研究,检验结果分析,细胞学,基因分析等。
无监督学习的精髓是,机器进行分类后,需要对分类结果继续进行分析,淘汰明显无用和不合理的分类,在此基础上建立有效模式,后续用于新数据的分类识别,或者进一步监督学习,建立模型。
总之,无监督学习往往给出的是灵感和方向,仍然需要人的经验判断和洞见。
注:图片来自网络
领取专属 10元无门槛券
私享最新 技术干货