机器学习 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),可用于评估模型的性能,损失值越低,通常表示模型的预测效果越好。 右侧的散点图通过颜色展示数据、神经元和权重值,帮助理解模型对数据的处理和区分情况 。 整个神经网络通过对输入数据的层层处理和变换,最终在输出层得到处理结果,用于完成如分类、回归等机器学习任务。