说起统计机器学习,其实它就是把咱们手里的数据当“粮食”,喂进算法里,让它自己去消化吸收,生成一个能干活的模型。有了这个模型,哪怕给它一张新照片,它也能立马说出这是只猫还是只狗。这种方法早在AI没出名的时候就把它拉出来了,虽然现在深度学习抢了不少风头,但统计方法在工业、科研、医院这些地方依然很实用。 咱们把它的干活过程拆成两步:训练和使用。训练就是把带标签的样本集合丢进去,让算法自己找规律;使用就是把新样本扔进去,看看模型能吐出啥结果。不管是搞垃圾邮件识别还是肿瘤分类,大家都在用这种有监督学习的招数,先给算法看一堆带标签的例子,等它学会了再让它自己去识别新的东西。 当然了,不一定要有人教也能学会。有些样本压根就没标签,全靠算法自己琢磨着把相似的归一堆。比如给一堆基因芯片数据,算法就算不知道哪群代表啥病,也能把它们分成高表达和低表达组,这就是无监督学习的好处。 有时候数据不全带标签也不要紧,咱们可以拿部分带标签的来训练个大概的模型,再用这个模型给没标签的数据打个假标签,来回迭代几次,性能往往比纯监督还强。这就是半监督学习在搞的鬼。 还有一种情况是标签特别少或者特别粗,甚至可能有错误。这种情况下就得费点心思设计抗噪机制了,得从一大堆“垃圾堆”里把有用的信息给抠出来。 拿小明做的那个例子来说吧,给他一套年龄、发长、鞋跟和服装这些四维特征,再配上性别标签。他想让系统随便拿个新样本来就能报出是男是女。这事儿听起来不难吧?只要把表格分成训练集和测试集,选个决策树或者k近邻的算法训一下就行。等模型学会了以后,你把“老年-中发-平底-深色”这一组合输进去,它立马就能告诉你是男性。 这里面用的硬编码特征虽然简单,但这个流程完全可以套用到高维的图片或者文本上。先把复杂的特征抽象成模型,再让模型去做预测就完事了。 作者还贴心地把内容分成了三个难度档:第一级是5.1的概念、5.3的决策树、5.4的k近邻、5.5的支持向量机、5.6的聚类基础还有5.9的评估指标;第二级是5.2的朴素贝叶斯、ID3决策树、线性SVM、k均值/层次聚类;第三级才是比较难的C4.5决策树、随机森林、核SVM与多类分类、DBSCAN密度聚类还有文本与脱机手写特征抽取。 记住一点就行:先把公式和思路吃透了再去搞高级玩法,这样能少走不少弯路。