1.3 机器学习基础前置回顾
机器学习基础回顾:三大类型与核心概念 | Scikit-learn教程
本章节回顾机器学习基础知识,涵盖监督学习、无监督学习和半监督学习三大类型,解释模型泛化能力、过拟合、欠拟合等关键概念,并详细定义特征、标签、训练集和测试集,帮助初学者轻松入门并打好基础。
机器学习基础前置回顾
欢迎来到Scikit-learn教程的机器学习基础章节!如果你是新手,别担心——本章将用简单易懂的方式回顾核心概念,为你后续深入学习Scikit-learn库打下坚实基础。机器学习看似复杂,但理解这些基础元素后,你将能轻松驾驭各种算法。
机器学习三大类型
机器学习可以根据数据标签的有无分为三大类型:监督学习、无监督学习和半监督学习。让我们一一探索。
1. 监督学习
定义:监督学习使用带有标签的数据进行训练,目标是学习从输入特征到输出标签的映射关系。简单说,就是教模型根据已有答案做预测。
例子:
- 分类:预测电子邮件是否为垃圾邮件(标签是“垃圾”或“非垃圾”)。
- 回归:根据房屋面积和位置预测房价(标签是连续数值)。
在Scikit-learn中的代表算法:线性回归、决策树、支持向量机等。
2. 无监督学习
定义:无监督学习使用没有标签的数据,目标是发现数据中的隐藏结构或模式。这里没有正确答案,模型需要自己探索。
例子:
- 聚类:将顾客分组到不同的细分市场(如按购买行为)。
- 降维:压缩图像数据以节省存储空间,同时保留关键信息。
在Scikit-learn中的代表算法:K均值聚类、主成分分析(PCA)。
3. 半监督学习
定义:半监督学习结合了少量有标签数据和大量无标签数据,以改善模型性能。这在现实世界中很常见,因为获取标签数据往往成本高昂。
例子:使用少量标记图像和大量未标记图像来训练图像分类模型。
在Scikit-learn中的应用:虽然Scikit-learn直接支持较少,但可以通过自训练或标签传播算法实现。
模型泛化能力、过拟合与欠拟合
理解这些概念能帮助你评估和改进模型表现。
泛化能力
定义:模型对未见过的数据做出准确预测的能力。理想情况下,模型应能泛化到新数据,而不仅仅是记住训练数据。
为什么重要:机器学习的最终目标是应用在现实场景中,泛化能力强的模型更可靠。
过拟合
定义:模型在训练数据上表现太好,但在测试数据上表现差。这通常是因为模型过于复杂,捕捉了数据中的噪声或细节。
例子:用高次多项式拟合数据点,导致曲线完美穿过所有训练点,但对新点预测不准。
如何避免:使用正则化、交叉验证或简化模型。
欠拟合
定义:模型在训练数据上表现不佳,无法捕捉数据的基本模式。这通常是因为模型太简单。
例子:用直线拟合非线性数据,导致预测误差大。
如何改进:增加模型复杂度、添加更多特征或使用更强大的算法。
核心定义:特征、标签、训练集与测试集
这些是构建机器学习项目的基础元素,理解它们至关重要。
特征
定义:特征(或输入变量)是描述数据的属性或维度。例如,在房价预测中,特征可能包括面积、卧室数量、地理位置等。
在Scikit-learn中:通常表示为二维数组(如Pandas DataFrame),每行是样本,每列是特征。
标签
定义:标签(或目标变量)是我们想要预测的输出。在监督学习中,标签是已知的;在无监督学习中,没有标签。
例子:对于垃圾邮件分类,标签是“垃圾”或“非垃圾”;对于聚类,标签是未定义的集群。
在Scikit-learn中:标签通常表示为一维数组(如列表或Series)。
训练集
定义:训练集是用于训练模型的数据部分。模型从这些数据中学习模式和关系。
如何划分:通常从总数据集中抽取70-80%作为训练集。
例子:如果数据集有1000个样本,可能用800个作为训练集来拟合模型。
测试集
定义:测试集是用于评估模型性能的数据部分,这些数据在训练过程中未见。
为什么重要:测试集帮助衡量模型的泛化能力,防止过拟合。
如何划分:剩余的20-30%数据作为测试集。在Scikit-learn中,常用train_test_split函数进行划分。
总结与后续步骤
掌握这些基础概念后,你将能更好地理解Scikit-learn库中的各种算法和工具。机器学习之旅就像搭积木——打好基础是关键。在后续章节中,我们将结合Scikit-learn代码,实际应用这些概念,从数据预处理到模型训练和评估。
小贴士:始终记住——优秀的机器学习项目始于清晰的问题定义、干净的数据和扎实的理论基础。现在,准备好进入Scikit-learn的实战世界吧!