AI往期系列科普
AI科普(一):什么是人工智能? AI科普(二):人工智能的根本任务 AI科普(三):什么是算法?
结论先行
传统的机器学习主要运用可解释的数学公式进行推导运算。在人工智能领域,其实深度学习为机器学习的一部分。我在整个系列中将可解释模型称为传统机器学习,使用神经元思想构建的不可解释模型称为深度学习。下面我将介绍两个原理简单却十分实用的传统机器学习模型。
K近邻
近朱者赤,近墨者黑。有一批肿瘤病人相关数据,横轴为肿瘤存在时长,纵轴为肿瘤的大小,橙色为恶性肿瘤,绿色为良性肿瘤。每位病人肿瘤的大小和存在时长就构成了二维空间中的一个点,现在我们有10位病人的肿瘤病情信息。 那么如果新来一位病人(黄色点表示),机器会如何判断肿瘤是良性还是恶性呢?我们首先要定义参数K=3(可随机取值),K近邻算法要做的就是在所有点中寻找离新点最近的3个点,使这最近的3个点以自己的类别值对新点进行投票。 因为离新点(黄色)最近的3个点中有2个是橙色,1个是绿色,因此K近邻算法就会判断这个新点很高概率是也是橙色,这位患者的肿瘤很可能已经恶化。这就是K近邻算法的判断思路。
K近邻算法的本质认为如果两个样本如果足够相似,那么它们就属于同一类别,这里的相似性其实就是空间中两点之间的距离,我们可以使用高中学过的欧拉距离公式对其求解,算出新点与每个点之间的距离,然后对其选择最近的K个点进行投票。 因为只看离新点最近的一个样本不具有全局性与普遍性,所以K值通常会选多个样本进行投票,在K个样本中哪个类别的样本最多,机器就认为新样本最可能属于哪个类别。这里的K值其实是一个参数,比如上例中如果将K值选为5,那么最后机器会判定此肿瘤为良性肿瘤。 在实际任务中我们会对K值进行测试,最终选择一个在样本集中准确率最高的K值进行应用。同样,计算距离在数学中也有多种公式可以选择,它们都是K近邻模型中的一个参数。
决策树
先办重要的事。决策树这种思路在生活中并不少见,甚至在很多时候我们会不自觉的使用这种思路去思考。举一个北京相亲的现实例子: 若认为北京相亲条件重要程度依次是户口、房子、年薪、年龄,则我们对其进行顺序思考决策,若有北京户口就选择见面,没有的话再考虑是否有房,以此类推。可以看到图中决策是否去相亲的过程形成了一棵树的结构,这颗树所有叶子节点的位置就是我们最终做出的决策。这棵树的高度为4,说明我们最多做4次决策就能得出分类结果。树的高度也是我们使用模型时必须设定的参数。决策树在每个节点进行决策时节点的属性都可以用是或否来进行判断,进而最终得到分类结果。 在实际任务中特征都是一个数值,如上在二维图中每一个样本有两个特征组成,共有绿、黄、橙3类数据,我们使用决策树对其进行分类可得决策边界。 决策树会找出每个维度的最佳决策边界进行分类,它会首先判断样本Y值是否小于1.1,是的话就直接归为绿色类,然后会依据剩余数据继续寻找决策边界;若X小于2.8,则分为黄色类,剩余数据自然归为橙色类。
实际问题中样本的维度可能成百上千,决策树算法的难点在于,我们应该在哪个维度上进行划分?划分的阀值(决策边界值)是多少?而决策树恰好可以利用自身的数据计算出每个维度的熵值与方差等指标,然后利用这些数学统计值对样本进行分类。
总结
K近邻就是应用了“近朱者赤,近墨者黑”的思路,而决策树就是按事件的优先等级去处理事务。通过上例大家不难发现,算法并没有大家想的那么复杂神秘,它们来源于生活。
本人为NLP算法工程师,更多AI科普系列请关注微信公众号:有温度的算法
|