作者:龙心尘 &&寒小阳
时间:2016年1月。
出处:
http://blog.csdn.net/longxinchen_ml/article/details/50471682,
http://blog.csdn.net/han_xiaoyang/article/details/50481967
声明:版权所有,转载请联系作者并注明出处
1. 引言
再过一个月就是春节,相信有很多码农就要准备欢天喜地地回家过(xiang)年(qin)了。我们今天也打算讲一个相亲的故事。
讲机器学习为什么要讲相亲?被讨论群里的小伙伴催着相亲,哦不,催着讲特征工程紧啊。只是我们不太敢讲这么复杂高深的东西,毕竟工程实践的经验太复杂了,没有统一的好解释的理论,一般的教材讲这方面的内容不多。我们就打算以一个相亲的故事为例,串一些特征工程的内容。
2. 故事背景
事先声明:本故事纯属虚构,如有雷同,纯属巧合!
海归白富美韩梅梅刚回国,还没适应工作,母亲就催着相亲。以父母的关系,他们了解到的适龄单身男青年有100个。要从100个男生中找到1个理想的女婿,可谓百里挑一。韩梅梅母亲也担心女儿相亲多了会反感,打算草拟一个相亲名单,人数不多。怎么从中挑出优秀男青年就是一个首要的问题。
3. 用机器学习的框架去分析
我们用机器学习的框架分析,在父母眼中,这100个男生最终将会分成两类:“女婿”(1人)和“非女婿”(99人)。“女婿”和“非女婿”就叫做“标签”。
而选择相亲名单的标准——如“是否高富帅”、“是否海归”等等——就叫作“特征”。最好能有一个特征能够精确定位理想女婿。但这太过理想了。比较现实的方法是从这些“特征”中选择、拆分、组合出最合适的特征,逐渐逼近我们的标签,以形成一个精简的相亲名单。而这个过程,就可以理解成特征处理、特征工程的过程。
但是,现实中的特征有千千万,拆分重组之后特征又是几何级数地增加,可能永远也穷举不完。因此需要有统一客观的指标来衡量这些特征对标签的识别能力,以便进一步地深入分析。而评估这些“特征”对我们的“标签”的有效程度的过程就叫作“特征有效性分析”。
4. 剧情一:韩妈妈的“如意算盘”
为人父母嘛,总是希望女儿嫁得好。韩妈妈的第一反应的就是要找“高富帅”。先她先从这100个男生中挑了挑,符合高富帅这个标准的有5个人。
韩妈妈的如意算盘是这样的:女婿就从这5个人中挑,概率就是20%,比之前的1%整整提高了20倍,嘿嘿嘿。。。
5. 特征有效性分析
其实,这就韩妈妈不知不觉就走了一个特征有效性分析的过程。我们用图表演示一下:

考虑到各方面的概率,用下图表示更加直观:

为了表述方便,我们以随机挑女婿而不考虑任何特征的概率叫做“ 先验概率”(1%)。而中间的箭头中的概率则表示 在已经知道样本所属特征前提下,属于女婿还是不属于女婿的概率,也可以叫作 “标签相对于某个特征的后验概率”(20%)。而母亲的如意算盘就是 考虑了上图中红圈部分的先验概率与后验概率(也可以叫条件概率)。这其实是一种很朴素的特征有效性分析的方法。而且她还做了个更加精确的数量化描述:
后验概率先验概率=20%1%=20(倍) 。
只是在工程上做除法可能运算会麻烦些,而两边同时取对数转换成减法则更方便:log(后验概率先验概率)=log(后验概率)−log(先验概率) 概率表示着选女婿的可能性或者确定性。在本例中,后验概率的确定性比先验概率的确定性更高。可见,“确定性的增加”可以作为特征有效性分析的一个指标。
我们进一步分析,无论先验概率还是后验概率,其本身是0-1之间的一个数,取完对数之后是一个负数,这在现实中不太方便找到其对应的现象解释。但是概率的倒数一定大于1,取完对数之后就是一个正数,就好找现实解释了。我们可以把这个“概率倒数的对数”理解成不确定性的指标。于是上式就变成:
log(后验概率先验概率)=log(1先验概率)−log(1后验概率) 这里面的 log(后