人工智能——机器学习概述
人工智能(Artificial Intelligence, AI)作为新一轮科技革命与产业变革的关键推动力量,在全球范围内掀起了一场深刻的智能化革命。该学科致力于探究与开发能够模拟人类智能本质特征的技术方法体系以及延伸人类认知边界的应用创新方案。作为一门新兴的技术学科, 人工智能主要研究内容涵盖了机器学习算法设计、深度认知模型构建等核心领域, 其目标是开发智能化技术体系并将其应用于各个智能系统构建过程之中, 从而推动社会生产效率与生活质量的整体提升
在智能学科体系中占据重要地位的人工智能技术旨在探索人类认知的本质,并开发出能够模仿人类认知模式并作出相应反应的人工智能系统。该科学领域十分广泛,在机器人学、语音识别技术、图像识别与计算机视觉、自然语言处理以及专家系统等领域均有深入研究,并通过机器学习算法不断推进相关技术的发展。
1.2 发展历程
早期阶段(1950-1970年代):
• 1950年:数学家艾伦·图灵提出了"图灵测试"这一评判标准。
• 1956年:约翰·麦卡锡首次提出"人工智能"概念并组织了达特茅斯会议。
• 1958年:弗兰克·罗森布拉特发明了感知器模型。
• 60年代:专家系统开始出现,利用规则与推理解决特定领域问题。
人工智能低谷期(1970-1980年代):
• 1973年:"帕金斯报告"指出人工智能研究缺乏实际应用前景,导致经费减少。
• 80年代:关注度有所回升,但进展缓慢。
复兴时期(1990-2000年代):
• 1997年:IBM深蓝击败世界冠军卡斯帕罗夫,标志人工智慧在复杂游戏中的突破。
• 20世纪末:深度学习算法得到发展,为后来的人工智能革命奠定基础。
现代人工智能(21世纪至今):
• 20世纪末:机器学习与自然语言处理技术取得重大进展。
• 20xx年:谷歌大脑项目展示了深度学习在图像识别方面的强大能力.
• 开启AI研究新纪元,GPT-3等大型语言模型发布,推动自然语言处理领域发展.
人工智能广泛应用:
近年来,在医疗、金融等领域获得广泛应用.
1.4. 应用场景
上面列举并不全面,在生物学领域中关注着结构蛋白的研究,在化学领域中则关注着合成材料的研发。这些领域的研究最初往往依赖于巨额资金支持下的持续实验。例如,在AlphaFold的研究方面取得了显著进展,在计算材料科学中正积极应用深度学习模型来预测和分析材料合成特性。随着人工智能技术的发展与应用范围不断扩大,在越来越多的传统学科教育领域开始与计算机科学相互融合
2. 自然语言处理
自然语言处理(Natural Language Processing, NLP)是人工智能领域的重要分支学科, 主要研究如何使计算机能够理解和处理人类的语言. 早期的研究重点主要集中在语音识别与合成、语言翻译以及问答系统等方面. 采用基于规则推理的方法时, NLP系统的准确率通常只能达到70%以上, 随着技术的发展, 统计分析方法的应用显著提升了其准确率, 达到了90%以上的水平. 随着类GPT人工智能技术的进步, 生成式人工智能(Generative AI)通过ChatGPT实现了对自然语言处理的支持. 在这一领域取得了突破性进展的同时, 通用人工智能(General Artificial Intelligence, AGI)也成为了研究人员当前正在努力追求的目标.
3. 机器学习
3.1. 概念
机器学习(Machine Learning, ML)属于人工智能(AI)领域的一个重要分支。其主要目标是使计算机系统能够从数据中自动学习并改进功能与性能,并非依赖人工编程干预。该技术通过应用统计学、数据挖掘以及模式识别等方法,在建立模型并进行训练的基础上实现任务的自动化操作。
其核心思想在于利用数据中的模式与规律性来实现多样的应用。系统通过大量样本数据进行模型训练,并能对未知输入进行预测与推断。其核心技术涉及特征提取技术的选择与应用,并注重模型性能的评估与优化。
在机器学习领域中存在多种主流的算法与技术可供参考,在监督学习体系下各类算法能够基于输入的训练样本及其对应的目标变量进行建模与预测;而在无监督学习框架中则主要关注于从未标注的数据中识别潜在的模式与结构;强化学习系统则强调代理体通过与环境交互积累经验并根据反馈不断优化自身的行为策略。
机器学习广泛应用于多个领域,包括自然语言处理、计算机视觉等。它的成功得益于优质数据、恰当的特征提取以及高性能计算能力。
机器学习确实面临着一系列挑战与局限性;例如,在缺乏足够标注数据的情况下,模型容易出现过拟合现象,并且难以实现良好的泛化能力。由此可见,在实际应用场景中,仅依靠机器学习本身是不够的;需要通过融合领域的专业知识以及借鉴实践经验进行相应的调整与优化。
3.2. 基本原理
回归与分类构成了机器学习的核心领域。通过选取回归与分类两类典型实例来阐述机器学习的基本原理。具有规律性的连续数据序列能够遵循一个数学公式进行建模和预测。如一元线性回归模型、多元线性回归模型等方法可用于描述这些具有内在关联的数据特征。在分类任务中常见的二元分类问题可以通过设定明确的判别标准来进行判断和归类。
3.2.1. 大数定律
从概率论的角度来看,在每次独立重复试验中进行随机事件的概率计算时
为了说明问题,我们采用一个简单的线性回归模型。该模型旨在通过最小化预测误差的方法来建立变量之间的关系模型(Model)。具体来说,在给定的数据集上进行参数估计(Estimate),使得拟合出的直线能够更好地反映自变量与因变量之间的依存关系(Dependence)。在本例中,假设这条直线的数据表达式为:
那么真实数据与评估数据之间的误差和可以表达为:
误差总和最小时,则意味着所求拟合的直线最为精确。然而要确定误差总和何时达到最小值并非易事。
对于这样一个给定的曲线来说,请问如何确定y的最小值?我们都知道,在曲线上某一点切线斜率为零时对应的y是最小的。导数在几何上的意义就是斜率本身。当函数在其极小点处求导时得到的结果为零。
上面的误差和不好求最小值,那么如果将误差平方和呢?
展开为:
我们能观察到这个函数是与变量a与b相关的三维曲面,在这里我们可以分别计算它们的偏导数,并将这些偏导数值设为零后,则可建立两个关于变量a与b的方程。通过计算使误差平方和达到极小值的过程所采用的方法被称为最小二乘法
在投资领域中经常提及价值回归的概念,在某些情况下其价格通常会趋向于企业的内在价值而不是持续过高或过低。当拟合出一条极其精准的直线时 新增的数据点也会趋向于接近这条拟合线 这是因为这个数学模型仅包含一个自变量(即房屋面积)因此它被归类为一元线性回归模型
在现实中,在真实的生活环境中,在现实生活中,在真实的环境中(根据原文),在真实的环境中(根据原文),影响房价的要素不仅局限于房屋面积这一项因素。
对于函数F(x)=W·x+b中的变量x来说(其中),x是一个包含多个因素的向量[房屋面积, 容积率,绿化率,交通];而权重矩阵W则由各个因素的影响系数组成[房屋面积影响系数,容积率影响系数,绿化率影响系统,交通影响系数];因此这些元素共同构成了一个多元线性回归模型。为了确定这些未知参数(即权重矩阵W和截距项b),我们通常采用最小二乘法来进行参数求解。在编程实现时(例如使用Python中的机器学习框架),我们只需要提供必要的输入数据(如特征向量X以及对应的标签y)以及选择合适的机器学习算法(如线性回归模型),算法会自动计算出最优的权重矩阵W和截距项b的值。
完成直线拟合后, 需用新数据进行验证拟合的效果表现如何, 通常采用以下两个指标:
机器学习框架库一般都提供接口得出这两个值。
最小二乘法的计算复杂度较高,在处理大规模训练数据时通常会采用改进型梯度下降算法以找到最优参数组合。
若拟合的质量不佳,则需采取相应的调整措施。具体而言,在分析原因的基础上可实施后续预处理步骤以提升数据质量,并根据需求更换现有模型(如采用非线性模型)。随后再展开新的训练与验证循环直至获得满意的结果参数配置。
3.2.3. 分类预测
条件概率:即事件A在事件B发生的情况下发生的概率,并等于A与B共同发生的情况数量除以B发生的情况数量。
假如有一堆关于天气等因素与是否外出打球的统计数据如下:
样本序号
天气状态
气温
湿度
风力
是否外出打羽毛球
1
晴天
热
高
低
否
2
晴天
热
高
高
否
3
阴天
热
高
低
是
4
下雨
适宜
高
低
是
5
下雨
冷
正常
低
是
6
下雨
冷
正常
高
否
7
阴天
冷
正常
高
是
8
晴天
适宜
高
低
否
9
晴天
冷
正常
低
是
10
下雨
适宜
正常
低
是
11
晴天
适宜
正常
高
是
12
阴天
适宜
高
高
是
13
阴天
热
正常
低
是
14
下雨
适宜
高
高
否
概率统计:
天气状况x1
气温
湿度
有风x4
是否要羽毛球
是 9
否 5
是 9
否 5
是 9
否 5
是 9
否5
是 9
否 5
晴 2/9
3/5
热 2/9
2/5
高 3/9
4/5
低 6/9
2/5
9/14
5/14
阴 4/9
0/5
宜 4/9
2/5
正 6/9
1/5
高 3/9
3/5
雨 3/9
2/5
冷 3/9
1/5
那么如何利用天气预报来判断明天是否外出打球?假设明天气象条件为:晴朗天空、低温气候、较高湿度以及较大风力。
这里就利用条件概率逐一计算针对不同天气状况下外出打球的概率P(是|x)和不外出打球的概率P(否|x),进而比较这两个概率的大小值以判断是否外出打球。分别计算:
根据这一判断依据,在给定条件下运动员选择不进行羽毛球运动的可能性更高。该种学习方法最初是由英国数学家托马斯·贝叶斯奠定理论基础的,在此基础之上发展起来的此类分析技术通常被称为贝叶斯分类方法。
3.2. 基本过程
3.2.1. 步骤
收集和准备数据:首先,需要收集相关的数据,并进行数据探索和预处理。这包括数据清洗、特征选择和数据转换等步骤,以确保数据的质量和适用性。
选择合适的模型:根据具体的问题和数据类型,选择适合的机器学习模型建模。常见的模型包括线性回归、决策树、支持向量机、神经网络等。
划分训练集和测试集:将数据集划分为训练集和测试集。训练集用于模型的训练和参数调整,而测试集用于评估模型的性能和泛化能力。
训练模型:使用训练集对选定的模型进行训练。训练的过程是通过不断调整模型参数来最小化损失函数,从而使模型能够更好地拟合训练数据。
模型评估:通过使用测试集对训练好的模型进行评估。常见的评估指标包括准确率、精确率、召回率、F1 分数等,用于衡量模型的性能和预测能力。
调优和改进:根据模型评估的结果,可以对模型进行调优和改进。这包括调整模型参数、改变特征选择方法、尝试不同的算法等。
使用模型进行预测或推断:在模型经过训练和调优后,可以使用它来进行预测或推断。通过输入新的数据,模型可以输出相应的预测结果或分类标签。
模型部署和监控:一旦模型表现良好,可以将其部署到实际应用中。同时,需要对模型进行定期监控和更新,以确保其持续的准确性和可靠性。
这些步骤并不一定是线性的,通常需要多次迭代和调整才能得到最佳的模型效果。机器学习的过程强调了数据的重要性,以及模型的训练、评估和调优等环节的重要性。
3.2.2. 示例
对收集到的数据按照特征与数值坐标轴进行标记,并通过观察分析这些数据是否适合某种数据模型。从直观上看,线性模型似乎是合适的。
接着构建模型时,设定函数形式为y = f(x) = A·x + B.在选定线性回归作为机器学习框架中的线性模型后,根据问题需求可以选择最小二乘法或梯度下降算法来优化参数.将收集到的数据集输入模型进行训练(即让模型通过数据学习其规律),经过训练后系统会自动确定最佳的参数值A和B.
启动模型评估过程,在采用误差函数R平方进行检验后发现结果令人失望,并且模型出现欠拟合现象(Under Fitting)。
经过仔细观察分析后发现使用一条曲线拟合可能有更好的效果。我们建议采用二次或三次多项式函数作为模型。
二阶:y=Ax + Bx*x + C
三阶: y = Ax + bxx + Cxxx + D
数学模型并非总是随着阶数越高越有效。如下图所示分别为线性拟合、3阶拟合和10阶拟合。
从实验结果来看,在低阶多项式模型中存在欠拟合问题;而对于3次多项式模型而言,则表现出了良好的预测能力;进一步增加到10次多项式时,在训练集上取得了显著的效果;然而,在测试集上的预测精度却明显下降,并由此推断这属于典型的过拟合现象(Over Fitting),即模型过于关注训练数据细节而忽略了全局模式。
选择合适的数学模型时,则需大量经验。在训练过程中,则通常会微调一些参数设置。若采用梯度下降法,则需持续优化学习率超参数以实现高效且精确的收敛。
3.3. 分类
机器 learning 的主要三种类型包括有:supervised learning(监督式的学习)、unsupervised learning(非监督式的学习)以及reinforcement learning(强化式的学习)。在现代 machine learning 系统中通常会综合运用多种方法。例如半supervised learning(半监督式结合)就是将部分数据进行有标签训练同时应用无标签数据进行辅助训练。下面所讨论的内容属于基础层面的划分
监督学习(Supervised Learning)是一种机器学习方法,在这一过程中系统基于标注的数据集进行分析与建模。每一份样本都包含输入特征,并对应于一个标签或输出结果。该模型通过建立输入与输出之间的映射关系来进行预测任务。
监督学习主要用于解决分类与回归这类问题。例如,在垃圾邮件识别、图像识别以及房价预测等方面表现突出。常见的监督学习算法如下:
线性回归(Linear Regression):用于建立连续输出变量与输入变量之间的线性关系。
非线性回归(Nonlinear Regression):用于预测自变量与因变量之间的非线性关系,多阶多项式。
逻辑回归(Logistic Regression):主要用于二分类问题,通过学习一个逻辑函数来进行分类。
决策树(Decision Trees):通过构建一个树状结构来进行分类和回归分析。
支持向量机(Support Vector Machines):基于定义在高维特征空间的超平面来进行二分类或多分类。
随机森林(Random Forests):由多个决策树组成的集成模型,通过投票或平均预测结果来进行分类或回归。
深度神经网络(Deep Neural Networks):由多个神经网络层组成的模型,可以进行复杂的图像和文本分类任务。
K近邻算法(K-Nearest Neighbors):通过找到离测试样本最近的K个训练样本来进行分类或回归。
朴素贝叶斯(Naive Bayes):基于贝叶斯定理和特征之间的独立性假设来进行分类。
梯度提升树(Gradient Boosting Trees):通过迭代训练多个弱学习器,并加权组合它们的预测结果来进行分类或回归。
3.3.2. 无监督学习
无监督学习(Unsupervised Learning)使用无标签的训练数据,其中只有输入特征没有对应的标签。模型通过发现数据中的结构、模式或特征来进行数据分析和学习。
无监督学习主要应用于聚类、降维以及异常检测等任务。例如,在市场细分问题中涉及图像分割问题以及推荐系统问题等领域。常见的是基于聚类分析的技术。
K均值聚类(K-Means Clustering)是一种广泛使用的无监督学习算法,在数据挖掘领域具有重要应用价值。该算法通过迭代计算的方式将数据集划分为若干个不同的簇,在每个簇内所有数据点与其对应的簇中心之间的距离之和达到最小化目标的基础上完成划分过程。
层次聚类(Hierarchical Clustering)是一种构建层次结构的无监督学习方法,在模式识别领域具有重要应用价值。该方法通过分阶段地执行合并或分割操作来生成层次化的簇结构。
期望最大化算法(Expectation Maximization)是一种迭代优化的概率数据分析工具,在统计学领域具有重要应用价值。该算法通常用于解决含有隐变量的概率模型参数估计问题。
主成分分析(Principal Component Analysis, PCA)是一种经典的线性降维技术,在特征提取领域具有重要应用价值。该技术通过对原始数据进行正交变换得到一组新的正交基向量来实现降维目的。
高斯混合模型(Gaussian Mixture Models, GMMs)是一种概率生成式模型,在复杂分布建模方面具有重要应用价值。
关联规则学习(Association Rule Learning)是一种基于频繁项集挖掘的知识发现方法,在大数据分析领域具有重要应用价值。
自编码器(Autoencoders)是一种深度生成模型,在非监督式学习任务中具有重要应用价值。
强化学习(Reinforcement Learning, RL),是研究智能体如何在环境中不断尝试与探索的过程中逐步提升自身性能的学习范式
强化学习广泛应用于机器人控制、游戏策略和自动驾驶等任务。
具体来说,在围棋领域取得了显著的成功应用。
典型的强化学习算法包括多种类型。
Q-learning:一种利用价值函数逼近实现的强化学习方法。通过构建Q表或近似函数模型,在交互环境中逐步探索最优策略以最大化累积奖励。
蒙特卡洛树搜索(Monte Carlo Tree Search):一种模拟随机状态分布构建搜索树以选择最优动作的决策优化算法。
策略梯度(Policy Gradient):通过参数化策略函数并采用梯度上升法优化长期奖励积累的一类强化学习方法。
深度Q网络(Deep Q-Network, DQN):结合神经网络实现高维状态空间下的Q值估计从而完成复杂任务的学习过程。
Proximal Policy Optimization (PPO):一种改进型策略训练方法通过平衡性能提升与稳定性维护实现连续决策任务的有效处理。
Actor-Critic算法:融合策略网络与价值网络的技术用于动态平衡动作选择与评估机制以提升整体性能。
强化学习也会生成预训练模型,在后续任务中提供最优策略参考。
3.4. 核心架构 PyTorch、TensorFlow 和 scikit-learn 是机器学习与深度学习领域中最具影响力的技术平台,每种都有其独特的优势与不足:
PyTorch:
优点:
动态计算图,更加灵活和直观
Python 原生支持,与 Python 生态更好集成
社区活跃,有大量的预训练模型和教程
易于调试和扩展
缺点:
部署和生产环境支持相对较弱
在 GPU 加速和分布式训练方面可能不如 TensorFlow
TensorFlow:
优点:
生产环境支持更好,部署更加方便
分布式训练和 GPU 加速支持更强
有强大的可视化工具 TensorBoard
社区和文档资源丰富
缺点:
静态计算图,相对更加复杂和不直观
与 Python 生态的集成可能不如 PyTorch 紧密
scikit-learn:
优点:
提供大量经典的机器学习算法
简单易用,适合快速原型和实验
文档和教程资源丰富
缺点:
不擅长处理大规模数据和复杂的深度学习模型
部分算法实现可能不如专业的深度学习框架高效
总的来说,PyTorch 更适合研究和实验,TensorFlow 更适合生产环境部署,scikit-learn主要用于传统的机器学习。
————————————————
版权说明:我的个人原创文章,请您转载时附上原文出处链接和本声明。
原文链接:
