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

深度学习04:无监督学习

1.什么是无监督学习

1. 监督学习 vs 无监督学习

  • 监督学习:模型根据带标签的数据集进行训练,每个样本都包含特征和对应的标签,模型学习输入和输出之间的映射关系。
    • 类比为一个打工仔,老板明确告诉模型应该如何处理每个样本,模型的任务是模仿和识别模式。
  • 无监督学习:模型在没有明确标签或目标的情况下进行学习,目标是从数据中发现潜在的模式或结构。
    • 类比为任务没有明确的目标,模型需要自行发掘数据中的规律。

2. 无监督学习的应用场景

无监督学习可以回答以下类型的问题:

  • 聚类(Clustering):将相似的数据点分组。比如,给定一组照片,能否自动将它们分为不同类别(如风景、动物、人物等)。聚类还可以用于根据用户行为将用户分组,识别相似用户群体。

  • 主成分分析(PCA):用于数据降维,寻找少量的参数来描述数据的线性相关性。例如,用较少的特征准确描述人体形状或物体的运动轨迹。

  • 因果关系和概率图模型:通过无监督学习模型发现变量之间的关系。例如,基于人口统计数据,能否找到房价、污染、犯罪等因素之间的因果关系。

  • 生成对抗性网络(GANs):GANs 是无监督学习的一个重要应用,生成虚拟数据(如图像和音频),并通过对抗机制提高生成数据的真实性。

总结:

无监督学习不依赖标签数据,而是通过探索和分析数据中的内在结构、关系和模式来解决问题。常见的无监督学习任务包括聚类降维因果推断生成模型等,广泛应用于发现数据背后的潜在规律。

1. 离线学习(Offline Learning)

  • 在监督学习或无监督学习中,模型的训练数据来自于预先收集的静态数据集,模型训练与环境没有实时交互。一旦数据收集完成,模型被训练,而后用于预测。这种方式被称为离线学习。
  • 优点:离线学习可以专注于模式识别,不用处理与环境的复杂交互。
  • 局限:它只能解决有限的问题,无法适应环境变化或与环境产生影响。

2. 引入环境交互的学习

当模型与真实环境互动时,它不仅仅是预测工具,而是成为了一个智能代理,可以影响环境,并且环境也会影响未来的观察和行为。交互式学习提出了新的挑战和问题:

  • 记忆问题:环境是否会记住模型以前的操作,并根据其做出不同反应?
  • 协作问题:环境是否能够帮助模型,例如语音识别中用户提供的反馈?
  • 对抗性问题:环境是否试图打败模型,例如垃圾邮件过滤器可能面临对抗性攻击,游戏中模型与玩家竞争。
  • 环境的变化:环境是否随时间变化,或者响应模型的行为而发生改变?

3. 分布偏移(Distribution Shift)

未来的数据与过去的数据不同时,模型的性能可能会下降,这称为分布偏移。环境的变化会导致模型在实际应用中遇到无法预测的情况,因为它只从过去的数据中学习。

4. 强化学习引入

强化学习是一种考虑与环境实时交互的学习方法。智能代理在与环境交互的过程中进行学习,模型的行动会直接影响环境的状态,进而影响后续的决策和观察结果。这种交互式学习不仅关注预测,还关注如何优化行为以获得最优结果。

5、强化学习的核心思想

强化学习的核心思想是通过试错的过程,智能体在环境中执行动作,获得奖励或惩罚,逐步学习最优策略。图1.3.7 形象地展示了智能体与环境的交互过程:

  1. 观察(Observation):智能体从环境中获取当前状态的信息。
  2. 动作(Action):智能体根据当前状态选择一个动作。
  3. 环境反馈:环境根据智能体的动作返回一个奖励(Reward),并更新状态。
  4. 策略更新:智能体根据获得的奖励,调整未来的决策策略(Policy)。

强化学习的工作机制

在强化学习中,智能体的学习过程可以被描述为与环境不断交互的循环。在每一个时间步内,智能体会接收来自环境的观察,并基于当前的策略选择一个动作。该动作将通过环境的反馈机制影响未来的奖励和状态。这一过程中,智能体通过不断尝试和调整策略,最终找到最优的决策方案。

强化学习的整个过程可以分为以下几个步骤:

  1. 观察(Observation):智能体通过感知环境中的信息,获得对当前状态的观察。
  2. 动作(Action):根据观察到的状态,智能体选择一个可能的行动策略。
  3. 奖励(Reward):智能体的行动得到反馈,通常是正面或负面的奖励。
  4. 策略(Policy)更新:根据反馈的奖励,智能体更新自己的策略,以在未来的时间步中做出更优决策。

奖励与策略优化

奖励是强化学习的核心,智能体通过累计长期奖励,逐步优化策略。值得注意的是,智能体有时无法立即获得奖励,甚至可能出现短期内不断失败的情况。因此,智能体必须具备一定的“信用分配”能力,即在经历一系列动作后,智能体需要明确哪些动作导致了奖励或惩罚。

强化学习中的常见问题

虽然强化学习的框架具有高度的通用性,但在实际应用中,仍然会遇到许多问题。以下是强化学习中常见的一些问题:

  1. 延迟奖励问题:智能体的某些动作可能不会立刻带来奖励,而是经过一段时间后才反馈。这使得智能体在初期的学习阶段需要更多的试错过程,以找到最佳策略。
  2. 状态与信息不完备:在许多实际场景中,智能体可能无法获取环境的完整信息。例如,在机器人控制中,智能体无法全面感知周围环境,这就需要智能体通过有限的信息来做出最优决策。
  3. 探索与开发的平衡:强化学习中的另一个难点是如何在探索新策略与利用已知策略之间找到平衡。智能体需要决定是依赖已有的最佳策略,还是冒险尝试新的行为,以期获得更大的长期回报。

马尔可夫决策过程与赌博机问题

大多数强化学习问题可以建模为马尔可夫决策过程(Markov Decision Process, MDP),在这种情况下,智能体可以利用环境的完整状态信息。然而,在很多实际问题中,智能体面临的却是更具挑战性的上下文赌博机问题(Contextual Bandit Problem)。在这种情境下,智能体只有部分的状态信息,并需要根据当前的信息做出最佳选择。

相关文章:

  • Golang | Leetcode Golang题解之第433题最小基因变化
  • MongoDB 双活集群在运营商的实践
  • postgresql gcc编译选项解释
  • jinaai/jina-embeddings-v2-base-zh向量模型报错解决
  • 从 0 到 1:互联网产品经理核心技能全解析
  • php thinkphp 小程序发送订阅模板消息通知
  • 如何给多台Linux机器设置时间同步
  • Power Platform开发小技巧,一天一个APP, 如何快速搭建二维码识别器
  • 深度学习:(五)初识神经网络
  • Git 提交规范
  • 基于PHP+MySQL组合开发地方门户分类信息网站源码系统 带完整的安装代码包以及搭建部署教程
  • 测试用例的举例
  • Xcode 16 上传AppStore遇到第三方库 bitcode 的问题
  • django drf 过滤器
  • 字符编码发展史4 — Unicode与UTF-8
  • 「前端早读君006」移动开发必备:那些玩转H5的小技巧
  • 【前端学习】-粗谈选择器
  • CSS 专业技巧
  • export和import的用法总结
  • javascript面向对象之创建对象
  • JAVA之继承和多态
  • js面向对象
  • log4j2输出到kafka
  • mysql常用命令汇总
  • node-sass 安装卡在 node scripts/install.js 解决办法
  • PAT A1050
  • Promise面试题,控制异步流程
  • spring boot 整合mybatis 无法输出sql的问题
  • SQLServer插入数据
  • Vue小说阅读器(仿追书神器)
  • 基于 Ueditor 的现代化编辑器 Neditor 1.5.4 发布
  • 收藏好这篇,别再只说“数据劫持”了
  • 赢得Docker挑战最佳实践
  • 优化 Vue 项目编译文件大小
  • 【云吞铺子】性能抖动剖析(二)
  • zabbix3.2监控linux磁盘IO
  • ​1:1公有云能力整体输出,腾讯云“七剑”下云端
  • #laravel部署安装报错loadFactoriesFrom是undefined method #
  • (10)工业界推荐系统-小红书推荐场景及内部实践【排序模型的特征】
  • (C++)栈的链式存储结构(出栈、入栈、判空、遍历、销毁)(数据结构与算法)
  • (cljs/run-at (JSVM. :browser) 搭建刚好可用的开发环境!)
  • (附源码)小程序儿童艺术培训机构教育管理小程序 毕业设计 201740
  • (力扣记录)235. 二叉搜索树的最近公共祖先
  • (一)使用Mybatis实现在student数据库中插入一个学生信息
  • (一)为什么要选择C++
  • (转)eclipse内存溢出设置 -Xms212m -Xmx804m -XX:PermSize=250M -XX:MaxPermSize=356m
  • ***检测工具之RKHunter AIDE
  • .bat批处理(四):路径相关%cd%和%~dp0的区别
  • .mp4格式的视频为何不能通过video标签在chrome浏览器中播放?
  • .net php 通信,flash与asp/php/asp.net通信的方法
  • .NET WebClient 类下载部分文件会错误?可能是解压缩的锅
  • .NET单元测试
  • .NET国产化改造探索(三)、银河麒麟安装.NET 8环境
  • .NET开发者必备的11款免费工具
  • .net中调用windows performance记录性能信息