6.人工智能与机器学习
一、人工智能基本原理
1. 人工智能(AI)定义与范畴
- 核心目标:模拟人类智能行为(如推理、学习、决策)
- 分类:
- 弱人工智能(Narrow AI):专精单一任务(如AlphaGo、语音助手)
- 强人工智能(General AI):具备人类全面认知能力(尚未实现)
- 超级智能(Superintelligence):超越人类所有领域的智能(理论阶段)
2. AI技术体系
-
知识表示:
- 逻辑表示:通过一阶谓词逻辑(FOL)描述事实与规则,例如“若P则Q”的确定性推理。
- 语义网络:以节点(概念)和边(关系)表示知识,支持非结构化数据的灵活关联,如“中南大学→位于→长沙市”。
- 框架与本体:通过预定义模板(框架)或层级化概念体系(本体)组织领域知识,增强知识复用与推理效率。
-
推理机制:
- 确定性推理:
- 演绎推理:从一般规则推导出具体结论(如三段论),应用于专家系统与定理证明。
- 归结推理:通过子句集化简解决逻辑问题,如数学定理求解。
- 不确定性推理:
- 贝叶斯网络:基于概率图模型处理不确定信息,如医疗诊断中的概率推断。
- 模糊逻辑:通过模糊集合与模糊推理处理模糊性知识,如模糊控制系统。
- 确定性推理:
-
搜索与优化:
- 启发式搜索:
- A*算法:结合启发函数(如欧几里得距离)优化路径规划,广泛应用于游戏AI与机器人导航。
- 双向搜索:同时从初始状态与目标状态进行搜索,减少搜索空间。
- 进化算法:
- 遗传算法:模拟自然选择与遗传机制,通过交叉、变异操作优化复杂问题(如函数优化)。
- 粒子群优化:基于群体智能调整搜索方向,适用于连续空间优化问题。
- 启发式搜索:
-
支撑技术:
- 机器学习:包括监督学习(如线性回归)、无监督学习(如聚类)和强化学习(如AlphaGo策略优化)。
- 深度学习:基于神经网络(CNN、RNN)自动提取特征,突破传统算法的局限性。
- 计算资源:GPU/TPU加速并行计算,分布式架构支持大规模数据处理。
3. 应用与挑战
- 应用领域:
- 计算机视觉:图像识别(CNN)、目标检测(YOLO)。
- 自然语言处理:机器翻译(Transformer)、情感分析(BERT)。
- 智能决策:博弈论(如AlphaGo)、强化学习(自动驾驶)。
- 核心挑战:
- 数据依赖:高质量数据获取与偏见治理。
- 可解释性:深度学习“黑箱”问题。
- 伦理与安全:AI决策的公平性与隐私保护。
二、机器学习算法与应用
1. 机器学习基础
- 定义:通过数据训练模型,使系统具备预测或决策能力
- 学习范式:
- 监督学习(带标签数据):分类(邮件垃圾过滤)、回归(房价预测)
- 无监督学习(无标签数据):聚类(客户分群)、降维(PCA)
- 半监督学习:少量标注数据 + 大量未标注数据(如医学影像中结合少量标注与大量未标注数据)
- 强化学习:智能体与环境交互(如AlphaGo自我对弈、机器人路径规划)
2. 经典算法
- 线性回归:
- 模型: y = β 0 + β 1 x 1 + ⋯ + β n x n y = \beta_0 + \beta_1x_1 + \cdots + \beta_nx_n y=β0+β1x1+⋯+βnxn
- 损失函数:均方误差(MSE)
- 优化方法:梯度下降(批量梯度下降、随机梯度下降)
- 应用:房价预测、股票价格趋势分析
- 决策树与随机森林:
- 分裂标准:信息增益(ID3)、基尼系数(CART)
- 随机森林:多棵树投票,抗过拟合(如客户信用评分模型)
- 改进:通过特征随机选择和样本Bootstrap抽样提升泛化能力
- 支持向量机(SVM):
- 核思想:最大化分类间隔(如人脸识别、文本分类)
- 核技巧:将低维数据映射到高维(RBF核、多项式核)
- 改进:引入软间隔处理噪声数据,支持多分类任务
- K均值聚类:
- 步骤:初始化中心点 → 分配簇 → 更新中心 → 迭代至收敛
- 优化:K-means++初始化、轮廓系数评估聚类效果
- 应用:客户分群、图像分割
3. 应用场景
- 金融风控:
- 逻辑回归预测贷款违约概率(如银行信用评分系统)
- SVM识别信用卡欺诈交易(实时检测异常模式)
- 医疗诊断:
- 随机森林辅助癌症分类(基于基因表达数据)
- 深度学习分析医学影像(如X光片肺结节检测)
- 推荐系统:
- 协同过滤(用户-物品矩阵分解,如Netflix电影推荐)
- 矩阵分解结合深度学习(如YouTube视频推荐)
三、深度学习与前沿技术
1. 深度学习基础
- 神经网络架构:
- 前馈神经网络(FNN):由输入层、隐藏层和输出层构成,通过全连接实现非线性映射,适用于分类和回归任务。
- 反向传播算法:基于链式法则计算梯度,通过梯度下降更新权重,学习率控制参数调整步长。
- 激活函数:
- ReLU(Rectified Linear Unit):通过
f(x)=max(0,x)解决梯度消失问题,加速收敛。 - Softmax:将输出转换为概率分布,常用于多分类任务的最终层。
- ReLU(Rectified Linear Unit):通过
- 正则化技术:
- Dropout:训练时随机屏蔽部分神经元,防止过拟合。
- L1/L2正则化:通过约束权重大小(L1为绝对值和,L2为平方和)抑制模型复杂度。
2. 核心模型与技术
- 卷积神经网络(CNN):
- 结构:卷积层(提取局部特征)→ 池化层(降维)→ 全连接层(分类),通过权值共享减少参数量。
- 应用:ImageNet图像分类(ResNet、VGG)、目标检测(YOLO)、医学影像分析(UNet)。
- 循环神经网络(RNN):
- 特点:通过循环连接处理序列数据,捕捉时序依赖关系,但存在梯度消失问题。
- 变种:
- LSTM(长短期记忆):引入门控机制缓解梯度消失,适用于长序列。
- GRU(门控循环单元):简化LSTM结构,性能接近但计算更高效。
- Transformer:
- 自注意力机制:计算序列元素间的全局依赖关系,替代传统RNN的序列处理方式。
- 典型模型:
- BERT(Bidirectional Encoder Representations from Transformers):双向编码上下文特征,用于文本理解。
- GPT(Generative Pre-trained Transformer):生成式预训练模型,通过单向注意力生成文本。
3. 生成模型
- 生成对抗网络(GAN):
- 组成:生成器(生成逼真数据)与判别器(鉴别真伪),通过对抗训练提升生成质量。
- 应用:图像生成(StyleGAN)、数据增强、艺术创作(如Deepfake)。
- 扩散模型(Diffusion Model):
- 原理:逐步对噪声数据进行去噪,最终生成目标样本(如Stable Diffusion)。
- 优势:生成过程可控(如文本引导图像生成),质量接近真实数据。
四、自然语言处理(NLP)
1. 核心技术
-
词嵌入:
- 静态词向量:Word2Vec(Skip-Gram/CBOW模型)通过神经网络学习词汇的分布式表示,捕捉语义相似性;GloVe基于全局词频统计,优化共现矩阵分解以提升向量质量。
- 动态词向量:ELMo通过双向LSTM生成上下文相关的词向量,解决多义词问题;BERT采用Transformer架构,通过掩码语言模型(MLM)实现双向上下文感知。
-
文本分类:
- 传统方法:TF-IDF提取文本特征后,结合SVM分类器实现高效分类。
- 深度方法:TextCNN利用卷积核捕捉局部语义模式;Transformer通过自注意力机制建模长距离依赖,显著提升分类性能。
-
机器翻译:
- 统计机器翻译(SMT):基于规则和统计模型(如HMM)对齐源语言与目标语言,但依赖人工构建翻译规则。
- 神经机器翻译(NMT):以Google Translate为代表,采用编码器-解码器架构,结合注意力机制实现端到端翻译,显著提升流畅度。
2. 大语言模型(LLM)
-
技术演进:
- GPT系列:GPT-3(1750亿参数)通过自回归生成文本,支持复杂推理;GPT-4引入多模态输入(文本+图像/音频),扩展应用场景。
- 开源模型:LLaMA(280亿参数)和Alpaca(70亿参数)推动技术民主化,降低部署门槛。
-
应用场景:
- 智能客服:通过意图识别(如BERT)和多轮对话管理(如RAG),实现24小时自动化服务。
- 代码生成:GitHub Copilot基于LLM解析自然语言描述,生成高质量代码片段并提示调试建议。
五、计算机视觉(CV)
1. 核心任务
- 图像分类:
- 经典数据集:MNIST(手写数字)、CIFAR-10
- 模型:AlexNet(2012年突破)、ResNet(残差网络提升性能)、EfficientNet(高精度低计算量)
- 目标检测:
- 两阶段:Faster R-CNN(候选区域 + 分类)
- 单阶段:YOLO(实时检测,YOLOv8支持实例分割,应用于自动驾驶)、SSD(单阶段检测)
- 图像分割:
- 语义分割(FCN、U-Net、DeepLab)
- 实例分割(Mask R-CNN)
2. 三维视觉
- 点云处理:
- PointNet(直接处理无序点云)
- PointNet++(提升小物体处理能力)
- SLAM技术:
- 视觉惯性里程计(VIO,用于机器人导航)
- 双目立体视觉(基于视差计算深度)、ORB-SLAM(多传感器融合)
六、工具与框架
1. 开发工具
- Python库:
- NumPy(数值计算)、Pandas(数据分析)
- Scikit-learn(传统机器学习)
- 深度学习框架:
- TensorFlow(静态图,工业部署友好)
- PyTorch(动态图,研究首选)
- JAX(自动微分 + GPU加速)
2. 云计算平台
- AWS SageMaker:托管式机器学习服务
- Google Colab:免费GPU支持的Jupyter笔记本
相关文章:
6.人工智能与机器学习
一、人工智能基本原理 1. 人工智能(AI)定义与范畴 核心目标:模拟人类智能行为(如推理、学习、决策)分类: 弱人工智能(Narrow AI):专精单一任务(如AlphaGo、…...
RabbitMQ怎么实现延时支付?
一、使用“死信队列”消息过期时间 1、原理: 设置消息”存活时间“,如果没有被及时消费,就会被丢弃到一个”死信队列“,然后消费者监听这个死信队列处理消息 2、步骤: 2.1、创建两个队列: 2.1.1、普通队…...
vite-vue3使用web-worker应用指南和报错解决
主线程:初始化worker和监听子线程的消息 let worker: any; const salesConfigData ref<any[]>([]); // 显示非上架 const showNotList ref(false);// /src/views/ceshi/salesConfig/worker.js worker new Worker(new URL("/src/views/ceshi/salesConf…...
校园快递助手小程序毕业系统设计
系统功能介绍 管理员端 1)登录:输入账号密码进行登录 2)用户管理:查看编辑添加删除 学生信息 3)寄件包裹管理:查看所有的包裹信息,及物流信息 4)待取件信息:查看已到达的…...
python量化交易——金融数据管理最佳实践——使用qteasy管理本地数据源
文章目录 统一定义的金融历史数据表最重要的数据表数据表的定义交易日历表的定义:交易日历表: trade_calendar qteasy是一个功能全面且易用的量化交易策略框架, Github地址在这里。使用它,能轻松地获取历史数据,创建交易策略并完…...
BIO、NIO、AIO、Netty从简单理解到使用
Java编程中BIO、NIO、AIO是三种不同的I/O(输入/输出)模型,它们代表了不同的I/O处理方式。 Netty就是基于Java的NIO(New Input/Output)类库编写的一个高性能、异步事件驱动的网络应用程序框架,用于快速开发可…...
计算机毕业设计SpringBoot+Vue.js工厂车间管理系统源码+文档+PPT+讲解)
温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 作者简介:Java领…...
一、图形图像的基本概念
文章目录 一、分辨率概念二、图形图像的区别三、位图和矢量图的区别 一、分辨率概念 图形显示计数中的分辨率概念有三种,即屏幕分辨率、显示分辨率和显卡分辨率。它们既有区别又有着密切的联系,对图形显示的处理有极大的影响。 1.屏幕分辨率 显示器分辨…...
前端跨域问题初探:理解跨域及其解决方案概览
在当今的Web开发中,跨域问题是一个常见且棘手的挑战 随着前端技术的不断进步,越来越多的应用需要从不同的域名、协议或端口获取资源 然而,浏览器的同源策略(Same-Origin Policy)限制了这种跨域请求,以确保…...
SQL分组问题
下列为电商公司用户访问时间数据 统计某个用户连续的访问记录,如果时间间隔小于60s,就分为一组 id ts 1001 17523641234 1001 17523641256 1002 17523641278 1001 17523641334 1002 17523641434 1001 17523641534 1001 17523641544 1002 17523…...
Oracle 数据库基础入门(二):深入理解表的约束
在 Oracle 数据库的学习进程中,表的约束是构建健壮、准确且高效数据库的关键要素。约束如同数据库的 “规则守护者”,它通过对数据的限制,确保了数据的完整性和一致性,就如同交通规则保障道路上车辆行驶的有序性一样。对于 Java 全…...
DeepSeek掘金——DeepSeek-R1驱动的房地产AI代理
DeepSeek掘金——DeepSeek-R1驱动的房地产AI代理 本文探讨如何使用 Smolagents 和 DeepSeek-R1 构建房地产代理,并利用工具进行网页抓取和数据导出。 AI 代理对于自动化复杂的推理任务至关重要。Smolagents 是由 Hugging Face 开发的轻量级 AI 代理框架,允许将大型语言模型 …...
WebP2P技术在嵌入式设备中的应用:EasyRTC音视频通话SDK如何实现高效通信?
在数字化时代,实时通信技术(RTC)与人工智能(AI)的融合正在重塑各个行业的交互方式。从在线教育到远程医疗,从社交娱乐到企业协作,RTC的应用场景不断拓展。然而,传统的RTC解决方案往往…...
【零基础到精通Java合集】第三集:流程控制与数组
针对**“流程控制与数组”**的15分钟课程内容设计,聚焦代码逻辑设计与数据结构基础: 课程标题:流程控制与数组(15分钟) 目标:掌握分支/循环语法与数组操作,能编写条件判断与数据遍历程序 一、课程内容与时间分配 0-2分钟 课程目标与逻辑导图 明确学习目标:分支结构、…...
VsCode + EIDE + OpenOCD + STM32(野火DAP) 开发环境配置
VsCode EIDE OpenOCD STM32(野火DAP) 开发环境配置 接受了新时代编辑器的我,实在受不了Keil的上古编辑页面,周树人说过:由奢入俭难,下面我们一起折腾一下开源软件Vscode, 用以开发51和STM32,有错误之处&…...
【vue-echarts】——01.认识echarts
文章目录 前言一、echarts二、使用步骤1.vue cli创建项目并安装第三方模块echarts2.显示图表总结前言 定制的数据可视化图表。ECharts最初由百度团队开源,并于2018年初捐赠给Apache基金会,成为ASF孵化级项目。2021年1月26日晚,Apache基金会官方宣布ECharts项目正式毕业。 一…...
【http://noi.openjudge.cn/】4.3算法之图论——1538:Gopher II
[【http://noi.openjudge.cn/】4.3算法之图论——1538:Gopher II] 题目 查看提交统计提问 总时间限制: 2000ms 内存限制: 65536kB 描述 The gopher family, having averted the canine threat, must face a new predator. The are n gophers and m gopher holes, each at di…...
Linux常见操作命令
Linux系统拥有丰富的命令行工具,通过这些命令可以高效地完成各种系统管理和日常操作任务。以下是一些常见的Linux操作命令: 文件和目录操作: - 创建目录:使用 mkdir 命令,例如 mkdir test 可以创建名为 test 的目录。如…...
Linux下测试Wifi性能——2.Linux下wifi指令
一、前言 相关知识大家看前一章节 Linux下测试Wifi性能——1.Wifi相关知识-CSDN博客 二、指令 1.查找可用网卡 iw dev 其中 接口名称(Interface) p2p0 和 wlan0 都是无线接口(网卡)的名称。 wlan0 是常见的无线局域网接口名…...
(十 九)趣学设计模式 之 中介者模式!
目录 一、 啥是中介者模式?二、 为什么要用中介者模式?三、 中介者模式的实现方式四、 中介者模式的优缺点五、 中介者模式的应用场景六、 总结 🌟我的其他文章也讲解的比较有趣😁,如果喜欢博主的讲解方式,…...
基于uniapp+WebSocket实现聊天对话、消息监听、消息推送、聊天室等功能,多端兼容
基于 UniApp + WebSocket实现多端兼容的实时通讯系统,涵盖WebSocket连接建立、消息收发机制、多端兼容性配置、消息实时监听等功能,适配微信小程序、H5、Android、iOS等终端 目录 技术选型分析WebSocket协议优势UniApp跨平台特性WebSocket 基础实现连接管理消息收发连接…...
解锁数据库简洁之道:FastAPI与SQLModel实战指南
在构建现代Web应用程序时,与数据库的交互无疑是核心环节。虽然传统的数据库操作方式(如直接编写SQL语句与psycopg2交互)赋予了我们精细的控制权,但在面对日益复杂的业务逻辑和快速迭代的需求时,这种方式的开发效率和可…...
【大模型RAG】Docker 一键部署 Milvus 完整攻略
本文概要 Milvus 2.5 Stand-alone 版可通过 Docker 在几分钟内完成安装;只需暴露 19530(gRPC)与 9091(HTTP/WebUI)两个端口,即可让本地电脑通过 PyMilvus 或浏览器访问远程 Linux 服务器上的 Milvus。下面…...
大语言模型如何处理长文本?常用文本分割技术详解
为什么需要文本分割? 引言:为什么需要文本分割?一、基础文本分割方法1. 按段落分割(Paragraph Splitting)2. 按句子分割(Sentence Splitting)二、高级文本分割策略3. 重叠分割(Sliding Window)4. 递归分割(Recursive Splitting)三、生产级工具推荐5. 使用LangChain的…...
相机Camera日志分析之三十一:高通Camx HAL十种流程基础分析关键字汇总(后续持续更新中)
【关注我,后续持续新增专题博文,谢谢!!!】 上一篇我们讲了:有对最普通的场景进行各个日志注释讲解,但相机场景太多,日志差异也巨大。后面将展示各种场景下的日志。 通过notepad++打开场景下的日志,通过下列分类关键字搜索,即可清晰的分析不同场景的相机运行流程差异…...
学习STC51单片机32(芯片为STC89C52RCRC)OLED显示屏2
每日一言 今天的每一份坚持,都是在为未来积攒底气。 案例:OLED显示一个A 这边观察到一个点,怎么雪花了就是都是乱七八糟的占满了屏幕。。 解释 : 如果代码里信号切换太快(比如 SDA 刚变,SCL 立刻变&#…...
DeepSeek源码深度解析 × 华为仓颉语言编程精粹——从MoE架构到全场景开发生态
前言 在人工智能技术飞速发展的今天,深度学习与大模型技术已成为推动行业变革的核心驱动力,而高效、灵活的开发工具与编程语言则为技术创新提供了重要支撑。本书以两大前沿技术领域为核心,系统性地呈现了两部深度技术著作的精华:…...
MySQL的pymysql操作
本章是MySQL的最后一章,MySQL到此完结,下一站Hadoop!!! 这章很简单,完整代码在最后,详细讲解之前python课程里面也有,感兴趣的可以往前找一下 一、查询操作 我们需要打开pycharm …...
使用SSE解决获取状态不一致问题
使用SSE解决获取状态不一致问题 1. 问题描述2. SSE介绍2.1 SSE 的工作原理2.2 SSE 的事件格式规范2.3 SSE与其他技术对比2.4 SSE 的优缺点 3. 实战代码 1. 问题描述 目前做的一个功能是上传多个文件,这个上传文件是整体功能的一部分,文件在上传的过程中…...
jdbc查询mysql数据库时,出现id顺序错误的情况
我在repository中的查询语句如下所示,即传入一个List<intager>的数据,返回这些id的问题列表。但是由于数据库查询时ID列表的顺序与预期不一致,会导致返回的id是从小到大排列的,但我不希望这样。 Query("SELECT NEW com…...
