当前位置: 首页 > article >正文

机器学习 Day01人工智能概述

1.什么样的程序适合在gpu上运行

  • 计算密集型的程序:此类程序主要运算集中在寄存器,寄存器读写速度快,而 GPU 拥有强大的计算能力,能高效处理大量的寄存器运算,因此适合在 GPU 上运行。像科学计算中的数值模拟、密码破解等场景的程序,都属于计算密集型,在 GPU 上运行可大幅提升运算速度。
  • 易于并行的程序:GPU 采用 SIMD 架构,有众多核心,同一时间每个核心适合做相同的事。易于并行的程序能充分利用 GPU 这一特性,将任务拆分成多个子任务,让多个核心同时处理,从而提升整体运行效率。例如图形渲染中的光照计算、深度学习中的矩阵运算等程序,因其天然的并行性,在 GPU 上运行能发挥出巨大优势 。

绿色的是计算单元,很明显GPU的计算单元很多,适合计算密集型程序,而CPU的处理单元多,适合执行I/O密集型程序。

 2.人工智能,机器学习,深度学习区别,人工智能三要素

人工智能三要素是数据,算法,计算力 

3. 机器学习概述

3.1什么是机器学习:

3.2机器学习流程 

  • 获取数据:从用户处或其他来源收集原始数据,是后续工作的基础。
  • 数据基本处理:对原始数据进行清洗(去除噪声、缺失值处理等)、转换(数据格式转换等) 、采样(如过采样、欠采样处理不均衡数据)等操作,提升数据质量。
  • 特征工程:从处理后的数据中提取、选择和构造对模型训练有价值的特征,增强数据的表达能力,帮助模型更好地学习。
  • 机器学习(模型训练):选择合适的机器学习算法,如决策树、神经网络等,利用处理好的数据对模型进行训练,使模型学习到数据中的模式和规律。
  • 模型评估:使用测试数据对训练好的模型进行评估,常用指标有准确率、召回率、F1 值等。若评估结果达到要求,模型可上线提供在线服务;若未达到要求,则需要重新回到前面步骤,调整数据处理方式、特征工程方法或模型参数等,重新训练评估 。

3.3各个流程的工作流程详解

3.3.1关于获取的数据

  • 数据构成
    • 样本与特征:在数据集中,一行数据代表一个样本,是一次观测或一个实例;一列数据是一个特征,用于描述样本的某方面属性。比如在一个学生成绩数据集中,一行可能是某个学生的所有成绩记录,是一个样本,而 “数学成绩” 这一列就是一个特征。
    • 目标值:部分数据集有目标值(标签值),是模型要预测或分类的结果,如根据房屋特征预测房价,房价就是目标值;有些数据集没有目标值,用于无监督学习场景 。
    • 数据类型
      • 类型一:包含特征值和目标值,目标值可以是连续的(如预测温度),也可以是离散的(如判断邮件是否为垃圾邮件)。
      • 类型二:只有特征值,无目标值,常用于无监督学习任务,如聚类分析。
  • 数据分割
    • 用途:机器学习中,通常把数据集划分为训练数据和测试数据。训练数据用于训练模型,让模型学习数据中的模式和规律;测试数据在模型训练好后,用于评估模型的性能和泛化能力。
    • 比例:常见的划分比例有训练集占 70% - 80% (如 70%、75%、80%),测试集占 20% - 30%(如 20%、25%、30%) 。

3.3.2关于数据基本处理

对原始数据进行清洗(去除噪声、缺失值处理等)、转换(数据格式转换等) 、采样(如过采样、欠采样处理不均衡数据)等操作

3.3.3特征工程

  • 定义:特征工程是运用专业背景知识和技巧对数据进行处理,让特征在机器学习算法中更好地发挥作用的过程。
  • 重要性:直接影响机器学习的效果。吴恩达指出,构建特征困难且耗时,需要专业知识,应用机器学习在很大程度上就是特征工程。业界也普遍认为,数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限。
  • 内容:包含特征提取(从原始数据中获取有价值的特征比如把文本和图片转换为数字)、特征预处理(对特征进行清洗、转换等操作,提升数据质量,比如归一化)、特征降维(减少特征数量,降低数据维度,避免维度灾难,从而得到一组相互 “不相关” 的主变量的过程。“不相关” 意味着这些主变量之间的冗余信息较少,能更简洁地代表原始数据的主要信息。

特征工程的每一个环节都至关重要。特征提取能挖掘出最具代表性的信息;特征预处理可处理数据中的噪声、缺失值等问题,让数据更符合算法要求;特征降维不仅能提升计算效率,还能有效避免过拟合。在实际应用中,需根据不同的数据和任务,灵活运用特征工程的方法。

3.3.4机器学习的分类

根据数据集组成不同,分为监督学习、无监督学习、半监督学习和强化学习。

算法分类及介绍

  • 监督学习:输入数据由特征值和目标值组成,输出可以是连续值(回归问题,如根据房屋平米数预测房价),也可以是有限个离散值(分类问题,如根据肿瘤特征判断其良性或恶性)。
  • 无监督学习:输入数据只有特征值,无目标值,数据未被标记。通过样本间的相似性对样本集进行类别划分,比如对不同人物按特征分类。
  • 半监督学习:训练集包含有标记和未标记的样本数据。一种训练方式是先对大量未标记数据由专家打标签,生成大量标记数据用于监督学习训练模型;另一种是专家只对少量未标记数据打标签,结合标记和未标记数据进行半监督学习。半监督学习结合了监督学习(利用有标记数据学习)和无监督学习(探索数据内在结构)的特点,在实际应用中,由于获取大量有标记数据往往成本高、耗时长,半监督学习可以有效利用未标记数据辅助模型训练,提升模型性能,在文本分类、图像识别等领域有广泛应用 。
  • 强化学习:实质是自动决策问题,可进行连续决策。包含智能体(agent)、动作(action)、奖励(reward)、环境(environment)、观察(observation)五个元素,目标是使智能体获得最多累计奖励,例如小孩学走路,通过行动与环境交互,根据结果获得奖励 

对比:

  • 监督学习:输入数据有标签,输出带有反馈,目的是预测结果,像猫狗分类(判断输入的图片是猫还是狗)和房价预测(根据房屋特征预测价格) 。
  • 无监督学习:输入数据无标签,输出无反馈,目的是发现数据中的潜在结构,比如按照人群特征将人分成不同群体,体现 “物以类聚,人以群分”。
  • 半监督学习:输入部分数据有标签,部分无标签,输出有反馈,通过利用少量有标签数据和大量无标签数据,目的是数据标记难度。
  • 强化学习:输入是决策流程及激励系统,输出是一系列行动,目的是长期利益最大化,如在学下棋过程中,通过不断尝试不同走法,根据最终胜负获得奖励或惩罚,优化下棋策略 。

3.3.5模型评估

  • 分类模型评估:以肿瘤良性或恶性预测为例,展示了分类模型场景。评估指标主要有:
    • 准确率:指预测正确的样本数占样本总数的比例,反映模型整体的预测正确程度。
    • 其他指标:精确率关注预测为正例的样本中真正正例的比例;召回率衡量实际正例被正确预测出来的比例;F1 - score 是精确率和召回率的调和平均数,综合反映模型性能;AUC 指标用于衡量模型对正例和负例的区分能力 。
  • 回归模型评估:以北京市六环外某小区房价预测模型为例。
    • 均方根误差(RMSE):是常用的衡量回归模型误差率的指标,通过计算预测值与实际值差值平方的平均数的平方根得到。RMSE 值越小,说明模型预测值与实际值越接近,模型效果越好。不过它只适用于比较误差单位相同的模型。
    • 其他指标:相对平方误差(RSE)用于衡量模型预测误差相对于均值预测误差的大小;平均绝对误差(MAE)是预测值与实际值差值绝对值的平均值,能直观反映预测误差的平均大小;相对绝对误差(RAE)用于比较模型预测误差与简单预测方法(如均值预测)误差的相对大小 。
  • 模型评估的结果可能会出现拟合问题,即过拟合和欠拟合

欠拟合就是特征太少在训练集和测试集上表现都不好,过拟合就是特征太多模型泛化能力不足,训练集表现好但是测试集不好。

4.深度学习简介 

结构: 

  • 输入层:左侧标注为 “输入层”,有多个特征输入,如 X1​、X2​、X12​ 等,代表输入数据的不同属性或特征变换,供神经网络学习。
  • 隐藏层:图中有 4 个隐藏层,从左到右神经元数量依次为 6 个、4 个、2 个、2 个。隐藏层对输入数据进行逐层抽象和特征提取,神经元之间通过带权重的连线连接,权重的大小在图中以连线的粗细表示,用于调整信号传递的强度,但每层内的神经元不可以连接(保证不相关)
  • 输出层:右侧标注为 “输出层”,输出结果经过加权处理,图中显示了测试损失(test loss 0.506)和训练损失(Training loss 0.513),可用于评估模型的性能,损失值越低,通常表示模型的预测效果越好。 右侧的散点图通过颜色展示数据、神经元和权重值,帮助理解模型对数据的处理和区分情况 。 整个神经网络通过对输入数据的层层处理和变换,最终在输出层得到处理结果,用于完成如分类、回归等机器学习任务。


http://www.kler.cn/a/580415.html

相关文章:

  • Tomcat下载安装及日志乱码问题解决
  • 上位机知识篇---Linux特殊功能文件
  • 极致的灵活度满足工程美学:用Vue Flow绘制一个完美流程图
  • 27. Harmonyos Next仿uv-ui 组件NumberBox 步进器组件禁用状态
  • Docker save命令怎么用
  • Flutter开发避坑指南:高频问题排查与性能调优实战
  • 如何在需求分析阶段考虑未来扩展性
  • ⭐LeetCode周赛 Q1. 找出最大的几近缺失整数——模拟⭐
  • [Python爬虫系列]bilibili
  • 斐波拉契数列
  • Microsof Visual Studio Code 安装教程(中文设置)
  • RabbitMQ使用延迟消息
  • 6-langchang多模态输入和自定义输出
  • 解决火绒启动时,报安全服务异常,无法保障计算机安全
  • 华为OD机试-流浪地球(Java 2024 E卷 100分)
  • Spring 面向切面编程 XML 配置实现
  • 初阶数据结构(C语言实现)——3.4带头双向循环链表详解(定义、增、删、查、改)
  • 今日头条文章爬虫教程
  • 能源电力行业中,利用物联网技术实现“一塔一档”
  • React基础之项目实战