0.机器学习基础

0.人工智能概述:

(1)必备三要素:

  • 数据
  • 算法
  • 计算力
    • CPU、GPU、TPU
    • GPU和CPU对比:
      • GPU主要适合计算密集型任务;
      • CPU主要适合I/O密集型任务;

【笔试问题】什么类型程序适合在GPU上运行?——面试题<1>

(2)人工智能、机器学习、深度学习区别?

  • 机器学习是人工智能的一个实现阶段;
  • 深度学习是机器学习的一个方法发展而来(神经网络);

(3)起源:

  • 图灵测试:
    • 机器与人隔开情况下,人提问机器回答测试5min,测试完成后让人回答:在你对面的是人还是机器?若30%的人无法判断,这个机器就通过了测试。该测试提出者:艾伦.麦席森.图灵。
  • 达特茅斯会议:
    • 1956年8月,提出机器模仿人类学习,无实质东西,会议长达2个月,1956年是人工智能元年。

(4)发展经历:

  • 起步
  • 反思
  • 应用
  • 低迷
  • 稳步
  • 蓬勃

(5)分支:

  • 计算机视觉(CV)

指机器感知环境能力,这一技术类别中经典任务有图像形成、图像处理、图像提取和图像的三位推理。物体检测和人脸识别是其比较成功的研究领域。

  • 自然语言处理(NLP)
    • 覆盖文本挖掘/分类、机器翻译和语音识别。

语言识别:指识别语言(说出语言)并将其转换成文本的技术。仍面临声纹识别和[鸡尾酒会效应]等一些特殊情况的难题。语言识别验证依赖于云平台,离线处理可能无法取得利息的工作原理。

文本挖掘和分类:对文字进行情绪分析、对里面垃圾信息检测。面临:可能出现歧义。

机器翻译:将A语言翻译B语言。面临:方言、行话表现不好。

  • 机器人

固定机器人:工业应用;

移动机器人:工业和家庭应用。

一.机器学习介绍

1.步骤:

  • 获取数据
  • 数据基本处理(科学计算库)
    • Matplotlib
    • Pandas
    • Numpy
  • 特征工程
  • 机器学习算法
  • 模型评估与调优

2.概述:

(1)定义:

机器学习是从数据中自动分析获得模型,并利用模型对未知数据进行预测

(2)工作流程:

机器学习工作流程总结:

  • 获取数据
  • 数据基本处理
  • 特征工程
  • 机器学习(模型训练)
  • 模型评估
    • 结果达到要求,上线任务
    • 没有达到要求,重新上面步骤

3.工作流程详述:

(1)获取数据:

  • 在数据集中一般:
    • 一行数据是一个样本;
    • 一列数据是一个特征;
    • 有些数据有目标值(标签值),有些数据没有目标值(如上表中,电影类型就是这个数据集中的目标值)
  • 数据类型构成:
    • 数据类型一:特征值+目标值(目标值是连续的和离散的)
    • 数据类型二:只有特征值,没有目标值(典型算法:聚类算法)。
  • 数据分割:
    • 机器学习一般数据集划分为两个部分:
      • 训练数据:用于训练,构建模型;
      • 测试数据:在模型检验时使用,用于评估模型是否有效。
    • 划分比例:
      • 训练集:70% 80% 75%
      • 测试集:30% 20% 25%

(2)数据基本处理:

即对数据进行缺失值,去除异常值等处理。

(3)特征工程:

  • 定义:特征工程是使用专业背景知识和技巧处理数据,使得特征能在机器学习算法上发挥更好的作用的过程。
  • 为什么需要?
    • 数据和特征决定机器学习上限,而模型和算法只是逼近这个上限而已。
  • 包含内容
    • 特征提取
      • 将任意数据(如文本或图像)转换为可用于机器学习的特征工程;
    • 特征预处理
      • 通过一些转换函数将特征数据转换成更加适合算法模型的特征数据过程;
    • 特征降维
      • 指在某些特定条件下,降低随机变量(特征)个数,得到一组“不相关”主变量的过程; 

(4)机器学习(模型训练):

选择合适算法对模型进行训练。

(5)模型评估:

对训练好模型进行评估。

二.机器学习算法分类:

1.监督学习:

1.1.定义:

  • 输入数据是由输入特征值和目标值所组成;
    • 函数的输出可以是一个连续的值(称为回归);
    • 或是输出有限个离散值(称为分类);

(1)回归问题:

例如:预测房价,根据样本集:拟合出一条连续曲线。

(2)分类问题:

例如:根据肿瘤特征判断良性还是恶性,得到结果是“良性”或者“恶性”,是离散的。

2.无监督学习:

2.1.定义:

  • 输入数据是由输入特征值组成,没有目标值;
    • 输入数据没有被标记,也没有确定的结果。样本数据类别未知;
    • 需要根据样本间的相似性对样本集进行类别划分。
  • 例:

【无监督与有监督对比】:

3.半监督学习:

3.1.定义:

  • 训练集同时包含有标记样本数据和未标记样本数据;
  • 例:

监督:从数据库中得到未标记数据,让专家预测,得到大量标记过数据,通过标记过数据训练预测模型;

半监督:从数据库中得到少部分未标记数据,让专家预测,得到少量标记过数据,通过少量数据训练初步模型,再用未标记的数据进行模型得出(优化)。

总之:半监督是通过少量标记数据训练初步模型,再利用大量未标记数据进行模型优化。

4.强化学习:

4.1.定义:

  • 实质是make decisions问题,即自动进行决策,并且可以做到连续决策。
  • 例:小孩走路,首先站起来,保持平衡,接下来先迈出左腿还是右腿,迈出一步再迈出一步。

小孩就是agent,他试图通过采取行动来操纵环境,并且从一个状态转变到另一个状态,当他完成任务的子任务时,孩子得到奖励;并且当他不能走路时就不会给奖励。

主要包含五个元素: agent ,action, reward,environment, observation

【强化与监督对比】

监督学习强化学习
反馈映射输出的是之间的关系,可以告诉算法什么样的输入对应着什么样的输出输出的是给机器反馈reward function,即用来判断这个行为是好是坏
反馈时间做了比较坏的选择会立刻反馈给算法结果反馈有延迟,有时候可能需要走了很多步以后才知道以前的某一步的选择是好还是坏
输入特征输入是独立同分布面对的输入总是在变化,每当算法做出一个行为,它影响下一次决策的输入

【拓展概念】什么是独立同分布?

概念:西瓜书中解释:输入空间中的所有样本服从一个隐含未知的分布,训练数据所有样本都是独立的从这个分布上采样而得。

  • 独立:每次抽样之间没有关系,不会相互影响;
    • 举例:给一个骰子,每次抛骰子抛到几就是几,这是独立;如果我要骰子两次之和大于8,那么第一次和和第二次抛就不独立,因为第二次抛的结果和第一次相关;
  • 同分布:每次抽样,样本服从同一个分布
    • 举例:给一个骰子,每次抛骰子得到任意点数的概率都是1/6,这个就是同分布;
  • 独立同分布:i.i.d.,每次抽样之间独立而且同分步。

5.小结:

inout目的案例
监督(supervised learning)有标签有反馈预测结果猫狗分类、房价预测
无监督(unsupervised learning)无标签无反馈发现潜在结构“物以类聚人以群分”
半监督(Semi-Supervised learning)部分有标签,部分无标签有反馈降低数据标记难度
强化(reinforcement learning)决策流程及激励系统一系列行动长期利益最大化学下棋

三.模型评估:

1.分类模型评估:

  • 准确率:
    • 预测正确的数站样本总数的比例;
  • 其他评价指标:精确率、召回率、F1-score、AUC指标等。

2.回归模型评估:

  • 均方根误差( Root Mean Squared Error,RMSE)
    • RMSE是一个衡量回归模型误差率的常用公式。不过,它仅能比较误差是相同单位的模型。

 a = actual target真实值

p = predicted target预测值

  • 例:

  • RSE:(预测值 - 真实值 )的平方和 /(真实值的均值 - 真实值的平方和)
  • MAE:(预测值 - 真实值)的绝对值的和 / 样本数量
  • RAE:(预测值 - 真实值的绝对值和)/ (真实值的均值 减 真实值的绝对值的和)

3.拟合:

模型评估用于评价训练好的模型的表现效果,其效果大致分为:过拟合、欠拟合。

在训练过程中,可能会遇到:

训练数据训练的很好,误差不大,为什么在测试集上有问题,出现这种情况就是拟合问题。

3.1.欠拟合(under-fitting):

  • 模型学习太过粗糙,连训练集中的样本数据特征关系都没有学出来。
  • 训练集与测试集中表现不好;

3.2.过拟合(over-fitting):

  • 所建成的机器学习模型或者深度学习模型在训练样本中表现的过于优越,导致在测试数据集中表现不佳
  • 训练集表现比较好,测试集中表现不好;

四.深度学习简介:

1.概念:

  • 深度学习(deep learning)(也称为速度结构学习【deep structure learning】、层次学习【Hierarchical learning】或者深度机器学习【deep machine learning】)是一类算法集合、是机器学习的一个分支。
  • 深度学习近些年来,在会话识别、图像识别和对象侦测等领域出现出来惊人的准确性。
  • 但是,“深度学习”在1986年有Dechter在机器虚席领域提出,然后在2000年有Aizenberg等人引入到人工神经网络中。而现在,由于Alex Krizhevsky在2012年使用卷积网络结构赢得了ImageNet比赛后受到大家瞩目。
  • 卷积网络之父:Yann LeCun

2.各层负责内容:

  • 1层负责识别颜色及简单纹理;
  • 2层一些神经元可以识别更加细化的纹理,布纹、刻纹、叶纹等;
  • 3层一些神经元负责感受黑夜里的黄色烛光,高光,萤火,鸡蛋黄色等;
  • 4层一些神经元识别萌狗的脸,宠物形貌,圆柱体事物,七星瓢虫等存在;
  • 5层一些神经元负责识别花,黑眼圈动物,鸟,键盘,原型屋顶等;

五.Jupyter Notebook

1.定义:

Jupyter 项目是一个非盈利的开源项目,源于2014年的ipython项目,因为它逐渐发展为支持夸所有编程语言的交互数据科学和数据计算。

  • Jupyter Notebook,原名IPython Notebook,是IPython的加强网页版,一个开源Web应用程序;
  • 名字源自Julia、Python和R(数据科学的三种开源语言)
  • 是一款程序员和科学工作者的编程/文档/笔记/展示软件;
  • .ipynb文件格式使用于计算型叙述的JSON文档格式的正式规范;

2.为什么使用:

  • 传统软件开发:工程/目标明确
    • 需求分析:设计框架,开发模版,测试
  • 数据挖掘:艺术/目标不明确
    • 目的是具体的洞察目标,而不是机械的完成任务;
    • 通过执行代码来解决问题;
    • 迭代式改进代码来解决方法;

实时运行代码、叙事性的文本和可视化被整合在一起,方便使用代码和数据来叙述故事。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/77208.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

多类型医疗自助终端智能化升级路径(代码版.下)

医疗人机交互层技术实施方案 一、多模态交互体系 1. 医疗语音识别引擎 # 基于Wav2Vec2的医疗ASR系统 from transformers import Wav2Vec2Processor, Wav2Vec2ForCTC import torchaudioclass MedicalASR:def __init__(self):self.processor = Wav2Vec2Processor.from_pretrai…

前端基础:React项目打包部署服务器教程

问题背景 我做了一个React框架的前端的Node项目&#xff0c;是一个单页面应用。 页面路由用的是&#xff0c;然后使用了React.lazy在路由层级对每一个不同页面进行了懒加载&#xff0c;只有打开那个页面才会加载对应资源。 然后现在我用了Webpack5对项目进行了打包&#xff…

【深度学习:理论篇】--Pytorch基础入门

目录 1.Pytorch--安装 2.Pytorch--张量 3.Pytorch--定义 4.Pytorch--运算 4.1.Tensor数据类型 4.2.Tensor创建 4.3.Tensor运算 4.4.Tensor--Numpy转换 4.5.Tensor--CUDA&#xff08;GPU&#xff09; 5.Pytorch--自动微分 &#xff08;autograd&#xff09; 5.1.back…

使用 Spring Boot 快速构建企业微信 JS-SDK 权限签名后端服务

使用 Spring Boot 快速构建企业微信 JS-SDK 权限签名后端服务 本篇文章将介绍如何使用 Spring Boot 快速构建一个用于支持企业微信 JS-SDK 权限校验的后端接口&#xff0c;并提供一个简单的 HTML 页面进行功能测试。适用于需要在企业微信网页端使用扫一扫、定位、录音等接口的…

工程师 - FTDI SPI converter

中国网站&#xff1a;FTDIChip- 首页 UMFT4222EV-D UMFT4222EV-D - FTDI 可以下载Datasheet。 UMFT4222EVUSB2.0 to QuadSPI/I2C Bridge Development Module Future Technology Devices International Ltd. The UMFT4222EV is a development module which uses FTDI’s FT4222H…

rcore day6

批处理系统 (Batch System) 出现于计算资源匮乏的年代&#xff0c;其核心思想是&#xff1a; 将多个程序打包到一起输入计算机&#xff1b;当一个程序运行结束后&#xff0c;计算机会 自动 执行下一个程序 应用程序难免会出错&#xff0c;如果一个程序的错误导致整个操作系统都…

Linux系统学习Day2——在Linux系统中开发OpenCV

一、OpenCV简介 OpenCV&#xff08;Open Source Computer Vision Library&#xff09;是一个开源的跨平台计算机视觉和机器学习库&#xff0c;广泛应用于图像处理、视频分析、物体检测等领域。它提供了丰富的算法和高效的工具集&#xff0c;支持C、Python等多种语言&#xff0c…

SAP Overview

SAP—企业运营的数字化引擎 在数字化转型的浪潮中&#xff0c;SAP以其全面的企业应用软件套件&#xff0c;为全球企业提供了强大的运营支持。SAP的模块化解决方案覆盖了企业运作的每一个关键环节&#xff0c;从销售到仓库管理&#xff0c;每个模块都是针对特定业务需求精心设计…

Kafka 中的幂等机制

Kafka 中的 幂等性&#xff08;Idempotence&#xff09; 是生产者端的重要机制&#xff0c;旨在确保即使在网络抖动、重试、Broker 重启等情况下&#xff0c;同一条消息不会被重复写入到 Topic 中。这是实现可靠消息传递、避免重复消费的关键手段之一。 ✅ 什么是幂等性&#…

用c语言写一个linux进程之间通信(聊天)的简单程序

使用talk 用户在同一台机器上talk指令格式如下&#xff1a; ​ talk 用户名ip地址 [用户终端号] 如果用户只登录了一个终端&#xff0c;那么可以不写用户终端号&#xff0c;如&#xff1a; talk userlocalhost可以使用who指令来查看当前有哪些用户登录&#xff0c;他的终端号…

深入探索Scala:从基础到进阶的全面总结

在大数据技术领域&#xff0c;Scala语言凭借其独特优势占据重要地位。它与Spark紧密相连&#xff0c;为大数据计算提供强大支持。今天&#xff0c;让我们一同深入回顾Scala从基础到进阶的关键知识点。 Scala开发环境搭建是入门的第一步&#xff0c;需确保JDK安装成功&#xff0…

【每日一个知识点】分布式数据湖与实时计算

在现代数据架构中&#xff0c;分布式数据湖&#xff08;Distributed Data Lake&#xff09; 结合 实时计算&#xff08;Real-time Computing&#xff09; 已成为大数据处理的核心模式。数据湖用于存储海量的结构化和非结构化数据&#xff0c;而实时计算则确保数据能够被迅速处理…

GPT-5、o3和o4-mini即将到来

原计划有所变更: 关于我们应有何期待的一些零散想法。 深度研究(Deep Research)确实强大但成本高昂且速度较慢(当前使用o3模型)。即将推出的o4-mini在性能上可能与o3相近,但将突破这些限制,让全球用户——甚至免费用户(尽管会有速率限制)——都能用上世界顶级AI研究助…

Spring Cloud LoadBalancer负载均衡+算法切换

目录 介绍核心功能负载均衡启动两个支付服务订单模块引入依赖LoadBalanced 注解启动订单服务测试结果 负载均衡算法切换总结 介绍 Spring Cloud LoadBalancer 是 Spring Cloud 提供的客户端负载均衡解决方案&#xff0c;提供更现代化的 API 和更好的 Spring 生态系统集成。它支…

Chrome 浏览器插件收录

1. Responsive Viewer 可以在同个窗口内&#xff0c;针对同一网站&#xff0c;添加多个不同设备屏幕显示。 在前端开发&#xff0c;需要多端适配&#xff0c;尤其是移动端响应式适配的网站开发中&#xff0c;可以同时测试多个不同屏幕的适配效果。 2. VisBug 提供工具栏&#x…

SQL 函数概述

SQL 函数概述 SQL 函数可以分为几大类&#xff0c;不同数据库系统可能有略微不同的实现。以下是主要的 SQL 函数分类&#xff1a; 1. 聚合函数 (Aggregate Functions) COUNT() - 计算行数 SUM() - 计算总和 AVG() - 计算平均值 MIN() - 找最小值 MAX() - 找最大值 GROUP…

MySQL学习笔记九

第十一章使用数据处理函数 11.1函数 SQL支持函数来处理数据但是函数的可移植性没有SQL强。 11.2使用函数 11.2.1文本处理函数 输入&#xff1a; SELECT vend_name,UPPER(vend_name) AS vend_name_upcase FROM vendors ORDER BY vend_name; 输出&#xff1a; 说明&#…

认识vue中的install和使用场景

写在前面 install 在实际开发中如果你只是一个简单的业务实现者&#xff0c;那么大部分时间你是用不到install的&#xff0c;因为你用到的基本上都是别人封装好的插件、组件、方法、指令等等&#xff0c;但是如果你需要给公司的架构做建设&#xff0c;install就是你避不开的一个…

【SpringCloud】构建分布式系统的利器

一、引言 在当今数字化时代&#xff0c;随着业务规模的不断扩大和用户量的急剧增长&#xff0c;单体应用逐渐暴露出诸多局限性&#xff0c;如可扩展性差、维护困难等。分布式系统应运而生&#xff0c;而 Spring Cloud 则成为了构建分布式系统的热门框架之一。它提供了一系列丰…

mkdir通配符详解

在 mkdir 命令中使用通配符可以简化批量创建目录的操作。通配符如 {} 和 * 可以用来生成多个目录名称&#xff0c;从而减少重复输入。以下是一些常见的使用方法和示例。 使用 {} 通配符 {} 通配符可以用来生成一系列的目录名称&#xff0c;语法如下&#xff1a; mkdir dir_{…