欢迎来到我们的机器学习专题!本文我们将深入探讨六种经典的机器学习算法:决策树、随机森林、KNN(K-近邻算法)、朴素贝叶斯、支持向量机和神经网络。这些算法在解决各种实际问题中发挥着重要作用,无论是分类、回归还是聚类任务,它们都有广泛的应用。
1、决策树模型
(1)简单原理说明
决策树(DecisionTree)常用于研究类别归属和预测关系的模型。比如:是否抽烟、是否喝酒、年龄、体重等4项个人特征可能会影响到‘是否患癌症’,上述4项个人特征称作‘特征’,也即自变量(影响因素X),‘是否患癌症’称为‘标签’,也即因变量(被影响项Y)。决策树模型时,其可首先对年龄进行划分,比如以70岁为界,年龄大于70岁时,可能更容易归类为‘患癌症’,接着对体重进行划分,比如大于50公斤为界,大于50公斤时更可能划分为‘患癌症’,依次循环下去,特征之间的逻辑组合后(比如年龄大于70岁,体重大于50公斤),会对应到是否患癌症这一标签上。
(资料图片)
(2)训练数据与测试数据说明
决策树是一种预测模型,为让其有着良好的预测能力,因此通常需要将数据分为两组,分别是训练数据和测试数据。训练数据用于建立模型使用,即建立特征组合与标签之间的对应关系,得到这样的对应关系后(模型后),然后使用测试数据用来验证当前模型的优劣。通常情况下,训练数据和测试数据的比例通常为9:1,8:2,7:3,6:4或者5:5(比如9:1时指所有数据中90%作为训练模型使用,余下10%作为测试模型好坏使用)。上述中包括模型构建和模型预测两项,如果训练数据得到的模型优秀,此时可考虑将其进行保存并且部署出去使用(此为计算机工程中应用,SPSSAU暂不提供);除此之外,当决策树模型构建完成后可进行预测,比如新来一个病人,他是否会患癌症及患癌症的可能性有多高。决策树模型可用于特征质量判断,比如上述是否抽烟、是否喝酒、年龄、体重等4项,该四项对于‘是否患癌症’的预测作用重要性大小可以进行排名用于筛选出最有用的特征项。
(3)参数设置
决策树模型的构建时,需要对参数进行设置,其目的在于构建良好的模型(良好模型的标准通常为:训练数据得到的模型评估结果良好,并且测试数据时评估结果良好)。需要特别注意一点是:训练数据模型评估结果可能很好(甚至准确率等各项指标为100%),但是在测试数据上评估结果确很糟糕,此种情况称为‘过拟合’。因而在实际研究数据中,需要特别注意此种情况。模型的构建时通常情况下参数设置越复杂,其会带来训练数据的模型评估结果越好,但测试效果却很糟糕,因而在决策树构建时,需要特别注意参数的相关设置。关于决策树模型时,通常涉及到以下参数值,如下:
决策树详细说明及案例操作解读请点击查看下方帮助手册:
决策树帮助手册
2、随机森林
(1)简单原理说明
随机森林模型实质上是多个决策树模型的综合,决策树模型只构建一棵分类树,但是随机森林模型构建非常多棵决策树,相当于在重复决策树模型。随机森林模型基于随机样本进行构建,并且在每个树节点时,考虑到分裂随机特征性,因而一般意义上,随机森林模型优于决策树模型(但并不一定,实际研究中应该以数据为准)。随机森林模型的原理上,其可见下图。
(2)参数设置
随机森林的参数和指标解读与决策树基本一致,如下:
随机森林详细说明及案例操作解读请点击查看下方帮助手册:
随机森林帮助手册
3、K-近邻算法
(1)简单原理说明
K近邻KNN(k-nearestneighbor)是一种简单易懂的机器学习算法,其原理是找出挨着自己最近的K个邻居,并且根据邻居的类别来确定自己的类别情况。
比如红色点,挨着其最近的5个点(K=5时)如上图,如果该5个点中多数均为A类,那么红色点就归为A类。此处涉及几个点,一是距离如何计算,二是K值如何选择,三是如何归类。
距离的计算方式:比如欧式距离、曼哈顿距离等,通常情况下使用欧式距离,其计算公式如下:欧氏距离d=(y1−x1)2+(y2−x2)2+...+(yn−xn)2
K值如何选择:通常建议K介于3~20之间,且一般为奇数值,SPSSAU默认为5,如果说K值太大,容易出现‘过拟合’现象即结果看着很好但事实上不好;如果K值过小,容易出现拟合现象很糟糕(欠拟合)现象。
如何归类:上述比如K=5,挨的最近5个点中有3个(超过一半)为A类,那么该点就分为A类,此种分类方式为‘等比投票权’,即5个点的权重完全一致。如果要考虑距离远近这一权重,可以使用‘距离反比投票权法’。
(2)参数设置
关于K近邻KNN模型时,通常涉及到以下参数值,如下:
K-近邻算法详细说明及案例操作解读请点击查看下方帮助手册:
K-近邻算法帮助手册
4、朴素贝叶斯模型
(1)简单原理说明
朴素贝叶斯模型的原理较为简单,其利用贝叶斯概率公式,分别如下:
P(y∣x)=P(y)P(x∣y)P(x)
接着假定各特征属性独立,并且将公式进行展示成如下:
P(yi∣x1,x2,⋯,xd)=P(yi)∏j=1dP(xj∣yi)∏j=1dP(xj)
关于朴素贝叶斯模型时,其原理理解较为简单,但其内部算法上有着更多内容,感兴趣的读者可参阅下述页面,点击查看。
(2)参数设置
关于朴素贝叶斯参数上,其特征(自变量X)的数据分布对模型有着较大影响,如下表格说明:我哪能吃那么多
如果特征即自变量X全部均为连续定量数据,那么选择高斯分布即可(此为默认值);如果特征中即包括连续定量数据,又包括定类数据,建议可对定类数据进行哑变量设置后,选择高斯分布;
如果说特征即自变量X中全部均是定类数据且每个X的类别数量大于2,此时可选择多项式分布;
如果每个特征全部都是0和1共两个数字,此时选择伯努利分布。
朴素贝叶斯详细说明及案例操作解读请点击查看下方帮助手册:
朴素贝叶斯帮助手册
5、支持向量机
(1)简单原理说明
支持向量机(supportvector machines,SVM)是一种二分类模型,所谓二分类模型是指比如有很多特征(自变量X)对另外一个标签项(因变量Y),比如‘吸烟’和‘不吸烟’两类的分类作用关系。
支持向量机模型是利用运筹规划约束求最优解,而此最优解是一个空间平面,此空间平面可以结合特征项,将‘吸烟’和‘不吸烟’两类完全地分开,寻找该空间平面即是支持向量机的核心算法原理。支持向量机模型的原理上,其可见下图。
比如红色表示“吸烟”,黄色表示“不吸烟”,那么如何找到一个平面最大化的将两类群体分开,如上图所示,分开有很多种方式,左侧也可以分开,右侧也能分开。但明显的,右侧会“分的更开”,因而如何寻找到这样的一个空间平面,让标签项各类别最为明显的分开,此算法过程即为支持向量机。将点分开时,离平面最近的点要尽可能的远,比如右侧时A点和B点离平面最近,那么算法需要想办法让该类点尽可能地远离平面,这样就称为“分的更好”。左侧时挨着平面最近的两个点离平面太近,所以右侧的分类更好。
(2)参数设置
结合支持向量机的原理情况,其涉及以下参数,如下:
支持向量机详细说明及案例操作解读请点击查看下方帮助手册:
支持向量机帮助手册
6、神经网络
(1)简单原理说明
神经网络(neuralnetwork)是一种模拟人脑神经思维方式的数据模型。神经网络有多种,包括BP神经网络、卷积神经网络,多层感知器MLP等,最为经典为神经网络为多层感知器MLP(Multi-LayerPerception),SPSSAU默认使用该模型。
神经网络的原理上,可见下图。
原理上,首先输入特征项X,即放入的自变量项,神经网络模型时,可将特征项X构建出‘伪特征’,其结合‘激活函数’构建出一些‘伪特征项’(即事实不存在,完全由模型构建的特征项,并且是无法解释的特征项),具体构建上,比如为线性激活函数时可直观理解为类似“y=1+2*x1+3*x2+4*x3+…”这样的函数)。并且构建‘伪特征项’可有多个层次(即‘隐层神经元’可以有多层,默认是1层),并且每个层次可以有多个神经元(默认是100)。最终由数学优化算法计算,得到输出,即预测项。
(2)参数设置
结合神经网络的原理情况,其涉及以下参数,如下:
除此之外,当权重优化方法为sgd或者adam时,可能涉及下述3个参数值(权重优化方法为lbfgs牛顿法时时不包括),如下:
神经网络详细说明及案例操作解读请点击查看下方帮助手册:
神经网络帮助手册