漫谈机器学习之小知识点总结
0x00 前言
总结一些之前学习机器学习的小知识点。
0x01 标签和特征
什么是标签,什么是特征?我们可以先这样大概理解:标签是一个归纳性描述;特征则是一个细节性描述。
比如说:我们可能会根据西瓜的颜色、瓜蒂的形状、敲击的声音来判断一个瓜是否是好瓜。其中这些判断条件就是特征,这个瓜是好瓜还是坏瓜就是标签。
更抽象一点,特征是做出某个判断的证据,标签是结论。
0x02 二分类和多分类
二分类和多分类中的这个“二”和“多”是针对标签来讲的。
-
二分类就是指一个物体最后被打的标签可能有两种,比如说,一句话会被打上两种标签:积极的和消极的。
-
多分类是标签可选值有很多。比如我们可能会给一句话打上多种标签:十分积极的,积极的,中等的,消极的,十分消极的。这就是多分类。
0x03 归一化
不同评价指标往往具有不同的量纲和量纲单位,这样的情况会影响到数据分析的结果,为了消除指标之间的量纲影响,需要进行数据标准化处理,以解决数据指标之间的可比性。原始数据经过数据标准化处理后,各指标处于同一数量级,适合进行综合对比评价。以下是两种常用的归一化方法:
1. min-max标准化(Min-Max Normalization)
也称为离差标准化,是对原始数据的线性变换,使结果值映射到[0 - 1]之间。转换函数:
x* = (x-min)/(max-min)
其中max为样本数据的最大值,min为样本数据的最小值。这种方法有个缺陷就是当有新数据加入时,可能导致max和min的变化,需要重新定义。
2. Z-score标准化方法
这种方法给予原始数据的均值(mean)和标准差(standard deviation)进行数据的标准化。经过处理的数据符合标准正态分布,即均值为0,标准差为1,转化函数为:
x* = (x-u) / d
其中u为所有样本数据的均值,d为所有样本数据的标准差。
参考:http://www.cnblogs.com/chaosimple/p/3227271.html
0x04 one-hot
没有大小关系的数据在输入到算法中时最好要做离散化。就是我们的one-hot。
那么什么是one-hot呢?
在实际的机器学习的应用任务中,特征有时候并不总是连续值,有可能是一些分类值,如性别可分为“male”和“female”。在机器学习任务中,对于这样的特征,通常我们需要对其进行特征数字化,如下面的例子:
有如下三个特征属性:
- 性别:
["male","female"]
- 地区:
["Europe","US","Asia"]
- 浏览器:
["Firefox","Chrome","Safari","Internet Explorer"]
对于某一个样本,如["male","US","Internet Explorer"]
,我们需要将这个分类值的特征数字化,最直接的方法,我们可以采用序列化的方式:[0,1,3]。但是这样的特征处理并不能直接放入机器学习算法中。
One-Hot Encoding的处理方法
对于上述的问题,性别的属性是二维的,同理,地区是三维的,浏览器则是思维的,这样,我们可以采用One-Hot编码的方式对上述的样本“["male","US","Internet Explorer"]”
编码,“male”则对应着[1,0],同理“US”对应着[0,1,0],“Internet Explorer”对应着[0,0,0,1]。则完整的特征数字化的结果为:[1,0,0,1,0,0,0,0,1]。这样导致的一个结果就是数据会变得非常的稀疏。
参考:http://blog.csdn.net/google19890102/article/details/44039761