引言
本文是想针对传统机器学习做一个阶段性的、简单的总结。 自本月上旬开始在所开设的专栏:机器学习_墨@#≯的博客-****博客 中写博文以来,已经有15篇文章了(包括本文)。内容或深或浅,主要是自己这段时间以来对机器学习相关内容的学习、实践以及总结。 不过不难发现,现有的这十几篇文章主要是针对传统机器学习的,深度学习等现代应用更广泛的机器学习算法还没有开始涉及。本文后,我将开始把重点放到对深度学习等现代机器学习算法的学习和实践中来。读者也可以看到,前面的博文中所提供的代码都是用Matlab编写的,做机器学习更通用的语言似乎是Python,主要是我目前对Python不是很熟练(也正在学),后续有关深度学习等内容实践的代码我尽量用python来实现。
当然,有关传统机器学习的内容还有很多,远不是现有的这15篇博文所能覆盖的,后续我也会不定期更新一些有关传统机器学习内容。
Blog
2024.10.30 博文第一次写作
目录
引言
目录
一、传统机器学习与现代机器学习
二、传统机器学习中典型的模型、算法
三、传统机器学习的特点
四、传统机器学习的应用
五、总结
六、参考资料
一、传统机器学习与现代机器学习
我在本专栏的第一篇博文[1]里就有对传统机器学习和现代机器学习做过介绍。这两者的核心区别在于对样本特征的选择! 传统机器学习下,样本特征是人工挑选的,是由人类告诉模型和优化算法,用样本的哪些特征去进行模型的训练;而深度学习等现代的机器学习算法中,特征是由计算机自己学习和提取到的。
传统机器学习主要是基于统计学和线性代数的原理,利用确定了特征的训练数据集来学习模型函数,再基于学习得到的模型对新的数据样本进行预测或分类,在编写算法时,需要我们明确指定每一步的操作。 传统机器学习适用于解决特征明显、规则明确,且明确定义的问题。
现代机器学习主要是基于神经网络,通过大量的数据和计算资源来学习复杂的模型函数。其算法具有自主学习和动态调节的能力。现代机器学习适用于解决模糊、复杂、模式不明显的问题,如图像识别、自然语言处理等。
二、传统机器学习中典型的模型、算法
不管是传统机器学习还是现代机器学习,都有:监督学习、无监督学习、半监督学习几种学习方法。在传统机器学习中:
对于监督学习:我们是基于同时给定了样本特征和样本值的数据来进行模型的训练。这种机器学习方法通常用于分类和回归问题,本专栏之前讨论过的:感知机、SVM、线性回归、逻辑回归、Softmax回归、KNN等都属于监督学习的范畴。
对于无监督学习:多用于分类问题,在无监督学习中输入的训练集只有特征,没有样本值,我们需要设计算法对数据进行自动分类。比如本专栏之前讨论过的DBSCAN、K-means这两种聚类算法都属于无监督学习的范畴。
对于半监督学习:半监督学习是一种介于监督学习和无监督学习之间的机器学习方法,它使用少量的有标签数据和大量的无标签数据来进行模型训练,旨在提高模型的性能。(相关内容我现阶段还没有接触,后续再补充。)
典型的传统机器学习算法除了前面已经列出的:感知机、SVM、线性回归、逻辑回归、Softmax回归、KNN、DBSCAN、K-means外,还有比如:决策树、随机森林、朴素贝叶斯、降维和梯度增强等。后面四个是[2]中给出的十大机器学习算法中我还没有实践的,后续我会补充。
三、传统机器学习的特点
传统机器学习主要有如下特点:(包括优点和缺点)
可解释性:这是其相较于现代机器学习的最大优势。传统机器学习整个的学习过程是可控、可以被理解和解释的。这使得它们在某些需要明确解释或合规性的应用中更为适用。
数据需求低,计算资源需求低:传统机器学习模型可以在相对较少的数据上表现良好,尤其是在数据预处理和特征工程得当的情况下。且模型通常不需要大量的计算资源来训练,这使得它们在资源有限的环境中(如嵌入式系统)有较大的应用潜力。
稳健且适用性广:传统机器学习的模型和数学基础更简单,简单也意味着稳健(出错概率低)。而且传统机器学习这套理论和算法已经经过很多年的研究和应用,在很多领域都已经有广泛应用。
可能需要复杂的特征工程:传统机器学习中,样本的特征是人为给定的,而模型的成功在很大程度上取决于特征(有没有构建/选取合适的特征),合适特征的选取可能需要大量的手工工作和专业知识,从而增加了模型开发的复杂性。
需要选择合适的模型,且泛化能力有限:传统机器学习算法不具备普适性,针对不同的问题和数据我们需要选择合适的算法和参数,这可能需要大量的实验和调优。 而且传统机器学习模型在处理复杂、高维数据时泛化能力较弱。
对大规模数据和高维数据的处理能力有限:当数据量非常大或特征维度非常高时,传统机器学习模型可能变得难以训练和解释。
四、传统机器学习的应用
传统机器学习在许多领域有广泛的应用,包括但不限于文本分类、图像识别、电子商务、金融、医疗等。例如,在文本分类中,传统机器学习可以用于垃圾邮件检测、情感分析、新闻分类等任务;在图像识别中,传统机器学习可以用于手写数字识别、物体识别等任务。
尽管深度学习等现代机器学习算法在许多领域取得了显著的进展并得到了大规模的应用,但传统机器学习仍然在许多应用中发挥着重要作用。在选择机器学习方法时,需要根据具体问题的要求和数据的特点来选择合适的技术方法。如无必要,勿增实体,如果能够用简单的模型解决问题,其实不必要上深度学习算法。
五、总结
本文对传统机器学习相关内容做了梳理。包括:传统机器学习与现代机器学习的对比、传统机器学习中典型的模型和算法、传统机器学习的特点以及应用等。内容其实很简单(好像说了些什么,又好像什么都没说)。 对相关概念更深入的理解,特别是对与现代机器学习区别的理解可能需要从项目实践中获取。 本文的内容算是先占个坑,后续如果有更多概念知识、实践感触等我再做补充。
六、参考资料
[1] 机器学习系列篇章0 --- 人工智能&机器学习相关概念梳理-****博客
[2] Machine Learning: 十大机器学习算法 - 知乎