Skip to content Skip to footer

基本人工智能算法解释

image-20240122004523792

介绍

人工智能 (AI) 的世界似乎复杂而令人生畏,尤其是对于初学者而言。然而,从本质上讲,人工智能是由算法驱动的,算法是给计算机的一组规则或指令,以帮助它从数据中学习。在本指南中,我将解释一些基本的 AI 算法:决策树线性回归k 最近邻。这些算法为理解更复杂的人工智能系统奠定了基础。

决策树

决策树是基于某些条件的决策的可能解决方案的图形表示。它就像一个流程图,其中每个内部节点代表一个属性的“测试”或“问题”(例如,“下雨了吗?”),每个分支代表测试的结果(例如,“是”或“否”),每个叶节点代表一个类标签或决策结果。这种结构通过将复杂的决策分解为一系列更简单的决策来帮助决策,使其更容易可视化和解释。

决策树的工作原理

  1. 选择最佳属性:在树中的每个节点上,算法都会选择最能拆分项目集的属性。这通常使用分类树中的基尼杂质或信息增益或回归树中的方差减少等标准来完成。
  2. 为属性创建分支:选择属性后,数据集将拆分为包含此属性的可能值的子集。此过程在每个派生子集上递归重复。
  3. 终止进程:一旦满足以下任一条件,递归就会终止:派生子集中的所有元组都属于同一类,没有更多的剩余属性,或者数据点的子集太小。

决策树的类型

  • 分类树:当目标变量为分类变量时使用。结果是数据点所属的类。
  • 回归树:当目标变量是连续变量时使用。结果是一个实数(例如,价格、温度)。

决策树的优点

  • 可解释性:它们易于理解和解释,使其在决策过程中很有价值。
  • 无需数据预处理:它们不需要对数据进行规范化。
  • 处理数值和分类数据:他们可以处理包含这两种类型数据的数据集。

决策树的缺点

  • 过拟合:它们可以创建过于复杂的树,这些树不能很好地从训练数据中泛化。
  • 不稳定:数据中的微小变化可能会导致完全不同的树。
  • 偏见: 较深的树往往更偏向于训练集。

运行中的决策树

想象一下,您想根据各种天气条件决定是否打网球,例如前景(晴天、阴天、下雨)、温度(炎热、温和、凉爽)、湿度(高、正常)和大风(真、假)。

  1. 从根目录开始:该算法可能首先考虑前景。如果前景黯淡,可能会导致打网球的“是”决定。
  2. 分支:如果前景不是阴天,下一个问题可能是关于湿度或风。每个答案都会导致一个新的分支。
  3. 得出结论:沿着这些分支,根据这些属性的组合,你最终会到达一个叶子节点——决定是否打网球。

实际应用

  • 医学诊断:帮助医生根据症状和病史诊断疾病。
  • 财务分析:通过考虑信用记录和收入等因素来评估贷款申请。
  • 客户关系管理:根据过去的互动和偏好预测客户行为。

通过了解决策树,人们可以深入了解机器学习中结构化决策是如何发生的。这种方法虽然简单,但为人工智能和机器学习中更先进的技术奠定了基础。

线性回归

线性回归是预测建模中最简单、使用最广泛的统计技术之一。它旨在通过将线性方程拟合到观测数据来模拟两个变量之间的关系。我们想要预测的变量称为因变量(有时称为结果变量、目标变量或标准变量),而我们用于预测的变量称为自变量(或预测变量)。

线性回归的基础知识

等式: 线性回归将一条线拟合到数据点,由等式 表示,其中:y = a * x + b

  • y是因变量,
  • x是自变量,
  • a是直线的斜率,表示 和 ,xy
  • b是 y 轴截距。

模型的目标:目标是找到 的值,以最小化预测中的误差。ab

线性回归的类型

  • 简单线性回归:涉及单个自变量来预测因变量。
  • 多元线性回归:涉及两个或多个自变量来预测因变量。

实现线性回归

让我们举一个简单的例子来了解如何使用该库在 Python 中实现线性回归。scikit-learn

image-20240122004552177

在此示例中,是自变量,并且是因变量。该模型从这些数据中学习,然后可以预测新 的值。XyyX

线性回归的好处

  • 简单性和可解释性:实现、理解和解释其结果非常简单。
  • 许多方法的基础:许多其他更复杂的算法都是建立在线性回归之上的。

线性回归的局限性

  • 假设线性关系:它假设自变量和因变量之间存在线性关系,但情况并非总是如此。
  • 对异常值敏感:异常值可以显著影响回归线,从而影响预测。
  • 多重共线性:当自变量彼此高度相关时,模型可能不可靠。

线性回归的应用

  • 经济学: 预测GDP增长、失业率等
  • 商: 根据市场趋势估算销售和收入预测。

线性回归是数据科学家工具箱中的基本工具。它是对变量之间关系进行建模的一线方法,为预测结果提供了良好的起点。

K 最近邻 (KNN)

K-最近邻 (KNN) 是一种简单而通用的算法,用于统计学习和机器学习,用于分类和回归。与其他机器学习算法不同,KNN 在进行预测之前需要训练,而 KNN 使用整个数据集作为其训练集进行预测,使其成为一种“惰性学习”。

KNN 的工作原理

  1. 选择相邻数量 (K): KNN 的第一步是选择邻居的数量,表示为“K”。此数字决定了算法在进行预测时将考虑的数据点的最近邻数。
  2. 计算距离: 对于数据集中的每个点,KNN 会计算该点与我们希望分类的点之间的距离。这可以使用各种方法完成,例如欧几里得距离、曼哈顿距离或汉明距离。
  3. 确定最近邻: 计算距离后,算法对这些距离进行排序,并选择顶部的“K”个最近邻。
  4. 聚合邻居信息: 对于分类任务,KNN 查看“K”最接近点的类,并根据多数票分配类。对于回归任务,它可以取这些“K”个邻居的平均值。

为 K 选择正确的值

  • K过低: 非常低的 K 值使算法对数据集中的噪声敏感。
  • K过高: 较高的 K 值会使其计算成本高昂,并可能导致欠拟合。
  • 寻找最佳位置:通常,数据点数的平方根用作起点。

KNN的优势

  • 简单有效:KNN 易于理解和实施。
  • 没有关于数据的假设:它不假设任何关于基础数据分布的信息。
  • 多面性:它既可用于分类,也可用于回归。

KNN的缺点

  • 计算密集型:随着数据集的增长,预测速度会变慢。
  • 对不相关的特征敏感:如果数据中有许多不相关的特征,则其性能可能会很差。
  • 对数据规模敏感:需要对特征进行规范化,否则算法可能会对某些特征进行比对其他特征更重的权重。

实际实施

以下是在 Python 中实现的 KNN 的基本示例:scikit-learn

image-20240122004614170

KNN的应用

  • 医学诊断:根据症状和过去的患者数据对患者状况进行分类。
  • 推荐系统: 根据客户相似性推荐产品或媒体。
  • 金融欺诈检测:识别表明欺诈活动的异常模式。

KNN 的简单性和有效性使其成为许多实际应用的热门选择。它能够根据可用的全部数据做出决策,而无需严格的训练阶段,为机器学习领域提供了一种独特的方法。

结论

在本指南中,我们探讨了基本的 AI 算法:决策树线性回归K 最近邻。每种算法都提供了对 AI 功能的独特见解,从使用决策树简化复杂决策、通过线性回归预测关系,到 K 最近邻方法的简单而有效的方法。