【导读】大家好,我是泳鱼。一个乐于探索和分享AI知识的码农!
首先,引用一句英国统计学家George E. P. Box的名言:All models are wrong, but some are useful. 没有哪一种算法能够适用所有情况,只有针对某一种问题更有用的算法。
也就是说,机器学习算法不会要求一个问题被 100%求解,取而代之的是把问题转化为最优化的问题,用不同的算法优化问题,从而比较得到尽量好的结果。因此对于数据科学家来说,理解算法显得格外重要,理解不同算法的思想可以帮助数据科学家更从容地面对不同的应用场景。
本文列出了常用的机器学习算法的基本概念、主要特点和适用场景,希望可以在大家选择合适的机器学习算法解决实际问题时起到一点参考作用。
本文主要提及的机器学习算法包括:
·K近邻(KNN)算法
·朴素贝叶斯算法
·决策树算法
·SVM算法
·adaboost算法
·EM算法(期望最大化算法)
下面我们将具体展开介绍:
NO.1
KNN算法
K近邻(KNN)算法优点:
K近邻(KNN)算法缺点:
适用场景及主要应用领域:
由于KNN方法主要靠周围有限的邻近的样本,而不是靠判别类域的方法来确定所属类别的,因此对于类域的交叉或重叠较多的待分样本集来说,KNN方法较其他方法更为适合。在实际应用当中,KNN算法在人脸识别、文字识别、医学图像处理等领域可以取得良好的分类效果。
K近邻(KNN)算法需要注意的问题:
数据特征之间量纲不统一时,需要对数据进行归一化处理,否则会出现大数吃小数的问题;
数据之间的距离计算通常采用欧式距离;
KNN算法中K值的选取会对结果产生较大的影响,一般k值要小于训练样本数据的平方根;
通常采用交叉验证法来选择最优的K值。
NO.2
朴素贝叶斯算法
下图为朴素贝叶斯算法的流程:
朴素贝叶斯算法注意点:
当特征属性值的值类型不是离散值而是连续值的时候,需要通过高斯分布做概率的计算;
为了避免统计概率中出现概率为0的情况,可以引入Laplace校准,它的思想非常简单,就是对没类别下所有划分的计数加1。
适用场景及主要应用领域:
主要应用领域
NO.3
决策树算法
决策树是一个树结构(可以是二叉树或非二叉树),其每个非叶节点表示一个特征属性上的测试,每个分支代表这个特征属性在某个值域上的输出,而每个叶节点存放一个输出类别。使用决策树进行决策的过程就是从根节点开始,测试待分类项中相应的特征属性,并按照其值选择输出分支,直到到达叶子节点,将叶子节点存放的类别作为决策结果。
决策树学习通常包含这几个方面:特征选择、决策树生成、决策树剪枝、缺失值/异常值处理、决策树集成学习。
决策树算法注意点:
适用场景及主要应用领域:
相比其他算法,决策树有一个非常明显的优势,就是可以很直观地进行可视化,分类规则好理解,让非专业的人也容易看明白,既可以解决分类问题(对应的目标值是类别型的数据),也能解决回归问题(输出结果也可以是连续的数值),目前广泛应用于语音识别、人脸识别、医疗诊断、模式识别等领域。
NO.4
SVM算法
SVM算法注意点:
适用场景及主要应用领域:
支持向量机(Support Vector Machine)是Cortes和Vapnik于1995年首先提出的,它在解决小样本、非线性及高维模式识别中表现出许多特有的优势,但它具有以下缺点:
支持向量机的常见适用范围如下:
传统的网络入侵检测方法大多采用密码签名的方法。在进行入侵检测方面,机器学习技术可以帮助我们进行网络流量的分析,在这里支持向量机具有检测速度快,分类精度高等特点,可以帮助安全人员识别不同类别的网络攻击,例如扫描和欺诈网络。
2. 人脸识别
SVM可以将图像部分分为人脸和非人脸。它包含nxn像素的训练数据,具有两类人脸(+1)和非人脸(-1),然后从每个像素中提取特征作为人脸和非人脸。根据像素亮度在人脸周围创建边界,并使用相同的过程对每个图像进行分类。
3. 文本和超文本分类
4. 蛋白质折叠和远程同源检测
蛋白质远程同源性检测是计算生物学中的一个关键问题。SVM算法是远程同源检测最有效的方法之一。这些方法的性能取决于蛋白质序列的建模方式。
NO.5
adaboost算法
adaboost算法注意点:
AdaBoost迭代次数也就是弱分类器数目不太好设定,可以使用交叉验证来进行确定;
数据不平衡导致分类精度下降;
训练比较耗时,每次重新选择当前分类器最好切分点;
对异常样本敏感,异常样本在迭代中可能会获得较高的权重,影响最终的强学习器的预测准确性。
适用场景及主要应用领域:
NO.6
EM算法
EM算法注意点:
对初始化数据敏感。
EM算法计算复杂,收敛较慢,不适于大规模数据集和高维数据。
当所要优化的函数不是凸函数时,EM算法容易给出局部最优解,而不是全局最优解。
适用场景及主要应用领域:
K-Means是EM算法的一个特列。在K-Means聚类时,每个聚类簇的质心是隐含数据。我们会假设K个初始化质心,即EM算法的E步;然后计算得到每个样本最近的质心,并把样本聚类到最近的这个质心,即EM算法的M步。重复这个E步和M步,直到质心不再变化为止,这样就完成了K-Means聚类。
2. 高斯混合模型
高斯混合模型(Gaussian Misture Model)的参数估计是EM算法的一个重要应用。高斯混合模型应用广泛,在许多情况下, EM算法是学习高斯混合模型的有效方法。
3. 隐马尔科夫模型
EM算法的另一个重要应用是隐马尔科夫模型。
算法的选择取决于许多因素,比如问题陈述、预期的输出类型、数据的类型和大小、可用的计算时间、特征数量以及数据中的观测点等,以上内容仅供大家在选择算法时作为参考,实践和运行才是评估算法的最佳标准。
版权声明
转自九章云极DataCanvas,版权属于原作者,仅用于学术分享