目录
前言
机器学习的发展史
-
20世纪50-70年代:符号主义阶段,以专家系统为主导,例如1950年图灵设计的国际象棋程序和1962年IBM Arthur Samuel的跳棋程序。1956年是人工智能的元年。
-
20世纪80-2000年代:统计主义阶段,主要用统计模型解决问题,如1993年Vapnik提出的SVM和1997年IBM深蓝战胜卡斯帕罗夫。
-
21世纪初期:神经网络阶段,2012年AlexNet的出现标志着深度学习的兴起。
-
2017年至今:大规模预训练模型阶段,2017年Transformer框架的出现推动了自然语言处理的发展,2018年Bert和GPT的出现,以及2022年ChatGPT的出现,开启了大模型AIGC发展的新阶段。
机器学习的应用领域
机器学习广泛应用于计算机视觉(CV)、自然语言处理(NLP)、数据挖掘和数据分析等领域。计算机视觉致力于对人看到的东西进行理解,自然语言处理则专注于对人交流的东西进行理解,而数据挖掘和数据分析则是通过从大量数据中提取有价值的信息来支持决策。
一、人工智能三大概念
1、人工智能(AI)
人工智能(Artificial Intelligence,简称AI)是一门研究如何使计算机能够模拟人类智能行为的学科。希望让电脑像人一样聪明,能够听懂人类说话、看懂人类写的字,比如开车、看病等。AI的目标就是让机器能够像人类一样思考和解决问题。
2、机器学习(ML)
机器学习(Machine Learning,简称ML)是人工智能的一个重要分支,它的核心是让机器通过数据自己学习。就好比你给电脑看很多猫和狗的图片,它自己就能学会区分猫和狗。机器学习通过算法让电脑从数据中找到规律,然后用这些规律去预测新的东西。比如,预测房价、推荐电影,这些都是机器学习的应用。
3、深度学习(DL)
深度学习(Deep Learning,简称DL)是机器学习的一个子领域,它基于人工神经网络的结构和算法,尤其是深度神经网络(DNN)。深度学习在语音识别、图像识别和自然语言处理方面特别厉害,像智能语音助手和自动驾驶汽车都离不开它。
4、三者之间的关系
人工智能是一个总的概念,机器学习是实现人工智能的一种方法,而深度学习是机器学习的一个更先进的分支。
机器学习是实现人工智能的一种途径,而深度学习则是机器学习的一种方法。深度学习从机器学习发展而来,二者既有区别又有联系。
简单来说,AI就是让机器变聪明的大目标,ML就是让机器通过数据学习的方法,DL就是ML里面更厉害的一种技术。
二、算法的学习方式
1、基于规则的学习
基于规则的学习是一种依赖于根据经验和知识预先定义好规则的方法。由于规则是人类制定的,通常是明确且易于理解的,一般适用于规则明确且相对固定的场景。
大白话解析:基于规则的学习,就好比是按照菜谱做饭。你只要按照菜谱上写的步骤来做,就能做出一道菜。这种方法的优点是简单明了,容易理解,但缺点是如果菜谱上没有写,你就不会做新的菜。而且,如果食材变了(比如洋葱换成胡萝卜),你可能就不知道该怎么调整了。
2、基于模型的学习
基于模型的学习是一种通过搭建模型来学习数据规律的方法,如线性回归模型、决策树模型、神经网络等,主要是通过数据训练从而找到其中的规律于关系。能够处理复杂的、大规模的数据集,并在训练过程中对模型不断进行优化,提高效率。
大白话解析:基于模型的学习,就好比是自己学会做饭,而不是按照菜谱。你通过尝试不同的食材和调料,观察结果,慢慢地学会了怎么做出好吃的菜。比如,你发现加一点糖可以让菜更甜,少放点盐可以让菜更清淡。这种方法的优点是灵活,可以根据不同的食材和口味调整做法,而且还能不断改进。缺点是刚开始的时候可能会比较难,需要多尝试几次才能学会。
三、人工智能发展三要素
1、数据
数据是人工智能的“燃料”。数据是机器学习和深度学习模型训练和优化的基础。数据可以是文本、图像、音频、视频等各种形式。
2、算法
算法是人工智能的“大脑”,是处理数据和生成结果的具体方法。算法可以是简单的规则(如基于规则的学习),也可以是复杂的模型(如深度学习)。
3、算力
算力是人工智能的“肌肉”,是指计算机硬件的计算能力,是加速数据处理和模型训练的保障。算力包括CPU、GPU、TPU等硬件的性能。
CPU:主要适合I\O密集型的任务。
GPU:主要适合计算密集型任务。
TPU:专门针对大型网络训练而设计的一款处理器 。
4、三者之间的关系
人工智能应用的工作过程:数据作为输入经过算法处理,由算力支撑进行模型训练,训练好的模型对新数据进行推断或预测,输出结果。随着新数据的输入,模型可以继续学习和优化。
数据是基础:没有数据,算法和算力就无从谈起。数据的质量和数量直接影响模型的性能。
算法是核心:算法决定了如何处理数据,如何训练模型,以及如何做出决策。高效的算法能够更好地利用数据,提高模型的性能。
算力是保障:强大的算力能够加速数据处理和模型训练,确保模型在实际应用中的高效运行。没有足够的算力,即使有好的数据和算法,也难以实现高性能的人工智能系统。
四、机器学习常用术语
1、样本
样本就是指在数据集中的每一行数据,其代表一个一个样本,多个样本组合成数据集。样本就是你用来训练模型或测试模型的“例子”。每个样本都包含了一组信息。
2、特征
特征就是数据集中的每一列数据,也被称为属性。特征是从数据中抽取出来的,帮助模型做决策,对预测有用的信息。特征是样本中的具体信息,是模型用来学习和做决策的“细节”。
3、标签
标签就是模型需要预测的那一列数据,也被称为目标值。例如在就业薪资预测中,就业的薪资就是标签。
4、训练集和测试集
数据集可划分为:训练接、测试集,比例一般是:8:2,7:3。
训练集:用来训练模型的数据集。训练集是模型用来学习的样本集合。模型通过这些样本学习特征和标签之间的关系。一般有:x_train和y_train。
测试集:用来测试模型的数据集。测试集是模型用来验证性能的样本集合。模型在训练完成后,用测试集来检查自己的预测是否准确。一般有:x_test和y_test(要预测的目标结果)。
五、机器学习算法分类
1、有监督学习
有监督学习是指输入数据包含输入特征值和目标值,即训练数据有标签。根据目标值的类型,有监督学习可以分为回归问题(目标值是连续的)和分类问题(目标值是离散的)。
特点:有特征有标签
分类任务:判断样本属于哪个类别,输出是离散的。例子:判断一个人是“男性”还是“女性”
回归任务:预测一个具体的数值,输出是连续的。例子:预测一个人的身高是多少厘米
2、无监督学习
无监督学习是指输入数据没有被标记,即样本数据类别未知,没有标签。无监督学习的主要任务是根据样本间的相似性对样本进行聚类,以发现事物内部的结构及相互关系。适用任务:聚类任务(根据样本间的相似性对样本集进行聚类,发现事物内部结构及相互关系)和降维任务。
特点:有特征无标签
3、半监督学习
半监督学习结合了有监督学习和无监督学习的特点。它利用少量有标签的数据训练模型,然后将模型应用于大量无标签的数据,通过领域专家的反馈来进一步优化模型。主要作用是:降低标注成本,提升效率。
特点:有特征部分有标签,部分无标签
4、强化学习
强化学习是机器学习的一个重要分支,其应用场景包括AlphaGo围棋、各类游戏、对抗比赛和无人驾驶等。强化学习的基本原理是通过构建智能体(Agent)、环境(Environment)、行动(Action)和奖励(Reward)四个要素,让智能体根据环境状态进行行动以获得最多的累计奖励。
5、总结
六、机器学习建模流程
1、获取数据
获取与机器学习任务相关的数据集,数据来源可以是经验数据、图像数据、文本数据等。获取数据的方式多种多样,可以是通过导入网络的数据(例如从sklearn.datasets中导入load_iris模块来加载鸢尾花数据集)、读取本地的文件和爬取数据等。
2、数据基本处理
对数据集进行预处理,包括处理数据中的异常值、缺失值等,以确保数据的质量。
缺失值处理方法应根据数据的性质选择,如填充、删除或插值。
对数据进行标准化或归一化,有助于提高模型的收敛速度和性能。
对数据进行编码(如独热编码、标签编码),需要注意的是应需要根据数据特征的类型进行选择,避免引入偏差。
3、特征工程
特征工程是机器学习中最耗时、最耗经历的环节,但是对模型的性能至关重要,是一个非常重要的环节,它包括特征提取、特征预处理、特征降维、特征选择和特征组合等步骤。特征工程的目的是利用专业背景知识和技巧处理数据,让机器学习算法的效果达到最佳。
4、模型训练
机器学习的核心步骤,直接影响模型的性能。
选择合适的算法对模型进行训练。根据不同的任务,可以选择有监督学习、无监督学习、半监督学习或强化学习等算法。
5、模型评估
评估模型的性能,常用的评估指标包括回归评测指标、分类评测指标和聚类评测指标等。如果模型的评估效果不佳,则需要返回前面的步骤进行调整和优化。评估指标应根据具体任务选择,如分类任务可以使用准确率和召回率,回归任务可以使用均方误差。
-
如果模型性能不佳,可以尝试调整模型结构或超参数。
-
避免过拟合和欠拟合,可以通过正则化、增加数据量等方法进行优化。
七、特征工程
1、特征提取
从原始数据中提取与任务相关的特征,构成特征向量。
2、特征预处理
对特征进行标准化、归一化等处理,以确保不同特征对模型的影响一致性。
标准化:将特征值转换为均值为0,标准差为1的分布。
归一化:将特征值缩放到 [0,1] 范围内,默认范围是[0,1]。
3、特征降维
将原始数据的维度降低,以减少数据的复杂性,同时保留数据的主要信息。
4、特征选择
特征选择应基于模型的性能和复杂度进行权衡,然后从原始数据的特征中选择出与任务相关的特征子集,以提高模型的训练效率和性能。
5、特征组合
将多个特征合并成一个特征,通常通过乘法或加法来完成,以生成更有意义的特征。特征组合可以提高模型的泛化能力,但也可能引入过拟合的风险。
八、模型拟合问题
1、拟合
拟合是指模型对样本点的模拟情况。在机器学习中,模型的拟合情况直接影响其预测能力。
2、欠拟合
欠拟合是指模型在训练集上表现很差,同时在测试集上也表现很差。欠拟合产生的原因通常是模型过于简单,无法捕捉到数据中的规律。
训练误差高,测试误差高。
原因:模型过于简单,输入特征不足,数据质量差。
3、过拟合
过拟合是指模型在训练集上表现很好,但在测试集上表现很差。过拟合产生的原因可能是模型过于复杂、数据不纯或训练数据太少。
训练误差低,测试误差高。
原因:模型过于复杂,输入特征过多,训练数据太少,数据种类不丰富。
4、泛化
泛化是指模型在新数据集(非训练数据)上的表现能力。一个好的模型应该具有良好的泛化能力,能够在未见过的数据上进行准确的预测。
5、奥卡姆递刀原则
奥卡姆剃刀原则是一种科学方法论原则,主张在多个假设中选择最简单的那个。在机器学习中,这意味着在多个模型中选择最简单且能够解释数据的模型。
有助于避免过拟合,选择更简单、更易于解释的模型
九、机器学习开发环境
安装第三方库scikit-learn:命令:pip install scikit-learn
使用的时候使用的是sklearn:导包:import sklearn
官网:https://scikit-learn.org/stable/