关注微信号夫子程序社,更多精彩
什么是分类?
对于分类问题,我们并不陌生。日常生活中我们经常有意或无意的进行分类。当一辆保时捷从你面前飞驰而过,你可能会想“车主是个有钱人”;当一部电影是周星驰主演,你可能会想“这是一部搞笑电影”。
我们为什么能进行分类呢?这是因为我们之前已经学习到相关的知识:豪车很贵,周星驰演的大多是搞笑电影。
同理,机器学习中的分类也是一个两步过程:
第一步是建立模型。模型是在带有类别信息数据集上运行特定算法建立的,这个过程叫做训练(或者学习)。使用的数据集叫做训练集。
第二步是使用模型进行分类。
训练集是由一组样例构成。一个样例可以形式化的表示为(x, c),其中x为样本特征,是一个d维向量,可表示为(x1,x2,…,xd),每个维度代表一个属性。c为样本特征对应的分类,我们用C表示所有可能分类的集合。每个样本特征x是关于某个事件或对象的描述。例如样例“((症状=头痛; 职业=建筑工人),脑震荡)”中,样本特征“(症状=头痛; 职业=建筑工人)”是对一个病人的描述,“脑震荡”是类别,表示一类疾病。
贝叶斯分类
根据贝叶斯定理,对一个分类问题,给定样本特征x,它属于类别c的概率是:
其中,P(c)为类先验(prior)概率;P(x|c) 为样本x相对于类别c的类条件概率,或称为似然(likelihood);P(x)是用于归一化的“证据”(evidence)因子。使用这个公式,对于给定的x,针对所有可能类别计算相应的概率,找到概率最大的类别即可。因此,贝叶斯分类器可以表示为: