吴恩达机器学习全课程笔记第七篇

目录

前言

P114-P120

推荐系统

协同过滤

均值归一化

协同过滤的tensorflow实现

查找相关项目

P121-P130

基于内容的过滤

强化学习

P131-P142

状态动作值函数定义

Bellman方程

随机环境

连续状态空间应用实例

前言

这是吴恩达机器学习笔记的第七篇,第六篇笔记请见:

吴恩达机器学习全课程笔记第六篇

完整的课程链接如下:

吴恩达机器学习教程(bilibili)

推荐网站

scikit-learn中文社区

吴恩达机器学习资料(github)

P114-P120

推荐系统

如果在上述的基础上,我们还拥有每部电影的一些特征

对于第一个用户而言,可以根据下面的方式去计算一个得分去预估他会对某些电影的评分

对于这个算法,我们接下来研究它的成本函数

通过最小化成本函数来学习、训练我们想要得到的参数

协同过滤

上述的预测是基于我们已知这些电影的某些特征的前提下,如果事先没有这些特征怎么办呢?

上面展示了如何根据参数去猜测某一部电影的特征

接下来我们根据成本函数去学习x1、x2的值,但需要注意的是:这里之所以有效是因为我们有四个用户的参数

把两种成本函数放在一起,变成协同过滤的成本函数表达式

协同过滤的梯度下降:

下面将要把上述的算法从预测数字推广到预测二进制标签上去

下面是预测二进制标签在推荐系统中的一些应用实例

从回归到分类的转换和前面的类似,可以套入一个sigmoid函数

最后,预测标签的协同过滤的成本函数如下

均值归一化

增加归一化,将帮助算法对用户做出更好的预测

在正常情况下,对于一个还没有进行任何评价的用户,刚开始假定w、b全0,因为它并不会对最后的x做出影响,但是这样的话在训练之后w、b还会一直保持0,将无法得到有帮助的结果

进行均值归一化的过程如下所示

这种方法使得用户五与其它用户对五部电影的评分平均值相同,虽然直接给用户五赋值0有利于增加推荐算法的效率,但却不能使算法表现出很好的效果

同理,如果对列进行均值归一化,适用于一部电影还没被任何人评分的预测场景中

协同过滤的tensorflow实现

tensorflow的一个好处是可以为您计算出成本函数的导数是什么,所以你只需要实现成本函数,而不需要任何微积分的知识

下面是使用tensorflow进行梯度下降的一个例子

协同过滤的实现如下

查找相关项目

如果你去一个网上购物网站,正在看一个项目,网站可能会向你展示一些类似的东西

协同过滤的缺陷

P121-P130

基于内容的过滤

第二种推荐算法是基于内容的过滤,我们让它和协同过滤做出一个比较:

在协同过滤中,我们有许多用户给不同用户的打分,相比之下在基于内容的过滤中,我们有用户的特征和用户的特征,我们想要找到一种方法,在用户和项目之间找到良好的匹配,我们要做的就是计算一些向量,用户用vu,电影用vm,然后取他们点积,试图找到好的匹配,

如何得到这两个向量,可以使用深度学习的方法

上述单独建立了两个神经网络,实际上可以把它画在一起

在得到上述的向量之后就可以找到相似的电影了

在大规模应用中,主要包含两个步骤:

强化学习

强化学习(Reinforcement learning,RL)讨论的问题是一个智能体(agent) 怎么在一个复杂不确定的 环境(environment) 里面去极大化它能获得的奖励。通过感知所处环境的 状态(state) 对 动作(action) 的 反应(reward), 来指导更好的动作,从而获得最大的 收益(return),这被称为在交互中学习,这样的学习方法就被称作强化学习

以训练直升机自动驾驶为例,很难想监督学习那样得到x和理想作用y的数据集,这就是为什么很多控制机器人的任务重监督学习方法效果不好,强化学习的关键输入是一种叫做奖励的东西,它告诉直升机什么时候做得很好

下面是强化学习的一些应用

下面是火星探测器的一个简化例子,并标出了强化学习主要研究的四个指标

在这个例子中,让我们算一下向两边走的收益(return),其中γ是折现系数,是一个小于1的值

强化学习中决策和策略决定了接下来的要执行的动作

所以强化学习的目标就是找到这个策略(π)

下面对三个例子进行总结,回顾强化学习的概念

马尔科夫决策过程

P131-P142

状态动作值函数定义

下面是强化学习中状态动作函数的定义和几个例子的计算,主要方框圈起来的是状态函数值返回值的条件,三个条件缺一不可

在进行行动决策的时候,只需要选出Q函数不同行动下的最大值对应的行动即可

Bellman方程

bellman方程可以帮助我们计算上述的状态动作值函数

随机环境

有时候命令火星探测器向左,但由于环境问题,无法向左

在随机化强化学习中,我们关注的不是最大回报,因为那是个随机数,我们感兴趣的是最大化所有可能的总奖励的平均值,这是后就引入了期望收益

由此可以更改上面学习的bellman方程为

连续状态空间应用实例

自动直升机的状态可以写成:

对于月球着陆器可以提供一些奖励供它进行强化学习

建立一个神经网络去学习状态动作函数

学习算法

强化学习的限制

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【C++】list模拟实现+反向迭代器

list模拟实现 list定义list用法list iterator的使用begin() end()rbegin()rend() reverse()sort()merge()unique()remove()splice() list模拟实现struct和class的区别list三个类模板默认成员函数构造函数拷贝构造函数赋值运算符重载析构函数 数据修改操作push_back()push_fron…

阿里云2核4G服务器支持多少人在线?多少钱?

阿里云2核4G服务器多少钱一年?2核4G5M带宽优惠价格199元一年,轻量应用服务器2核4G4M带宽165元一年,2核4G服务器30元3个月,可以在阿里云官方活动查看2核4G配置详细报价 https://t.aliyun.com/U/bLynLC 阿里云2核4G服务器价格 2核4G…

java 版本企业招标投标管理系统源码+功能描述+tbms+及时准确+全程电子化

功能描述 1、门户管理:所有用户可在门户页面查看所有的公告信息及相关的通知信息。主要板块包含:招标公告、非招标公告、系统通知、政策法规。 2、立项管理:企业用户可对需要采购的项目进行立项申请,并提交审批,查看所…

cannot import name ‘Flask‘ from partially initialized module ‘flask‘

bug: ImportError: cannot import name Flask from partially initialized module flask (most likely due to a circular import) (G:\pythonProject6\flask.py) 这个是因为包的名字和文件的名字一样 修改文件名: 结果 🤣🤣&…

【QT】Qt Charts概述

目录 1 QtCharts模块 2 图表的主要组成部分 2.1 QChartView的功能 2.2 序列 2.3 坐标轴 2.4 图例 3 一个简单的QChart绘图程序 QtCharts是Qt提供的图表模块,在Qt5.7以前只有商业版才有Qt Charts,但是从Qt5.7开始,社区版本也包含了Qt C…

基于SpringBoot+Apache POI的前后端分离外卖项目-苍穹外卖(十九)

数据导出 1. 工作台1.1 需求分析和设计1.1.1 产品原型1.1.2 接口设计1.2.1 Controller层1.2.2 Service层接口1.2.3 Service层实现类1.2.4 Mapper层 1.3 功能测试 2. Apache POI2.1 介绍2.2 入门案例2.2.1 将数据写入Excel文件2.2.2 读取Excel文件中的数据 3. 导出运营数据Excel…

重学SpringBoot3-yaml文件配置

重学SpringBoot3-yaml文件配置 引言YAML 基本语法YAML 数据类型YAML 对象YAML 数组复合结构标量引用 YAML 文件结构Spring Boot 中的 YAML 配置注意事项总结参考 引言 YAML(YAML Ain’t Markup Language)是一种常用于配置文件的数据序列化格式&#xff…

LabVIEW起重机工作参数远程监测系统

LabVIEW起重机工作参数远程监测系统 随着起重机技术的持续发展,对其工作参数的实时监控需求日益增加。设计了一个基于LabVIEW和TBox的起重机工作参数远程监测系统,能够实现起重机工作参数的实时采集、传输、解析和显示,有效提升起重机的性能…

【Linux-shell系列】多脚本同时启动

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

基于51单片机风速仪风速测量台风预警数码管显示

基于51单片机风速仪风速测量报警数码管显示 1. 主要功能:2. 讲解视频:3. 仿真4. 程序代码5. 设计报告6. 设计资料内容清单&&下载链接资料下载链接: 基于51单片机风速仪风速测量报警数码管显示( proteus仿真程序设计报告讲解视频&…

Elasticsearch:使用 Streamlit、语义搜索和命名实体提取开发 Elastic Search 应用程序

作者:Camille Corti-Georgiou 介绍 一切都是一个搜索问题。 我在 Elastic 工作的第一周就听到有人说过这句话,从那时起,这句话就永久地印在了我的脑海中。 这篇博客的目的并不是我出色的同事对我所做的相关陈述进行分析,但我首先…

第 5 章 ROS常用组件坐标msg消息(自学二刷笔记)

重要参考: 课程链接:https://www.bilibili.com/video/BV1Ci4y1L7ZZ 讲义链接:Introduction Autolabor-ROS机器人入门课程《ROS理论与实践》零基础教程 在ROS中内置一些比较实用的工具,通过这些工具可以方便快捷的实现某个功能或调试程序,从…

仿牛客网项目---关注模块的实现

本篇文章是关于我的项目的关注模块的开发。 关注模块的开发实现了用户之间的关注功能和关注列表的展示。通过使用相应的服务类处理关注和取消关注操作,并利用用户服务类获取用户信息,实现了关注功能的存储和查询。同时,通过触发关注事件&…

记一次:android学习笔记一(学习目录-不要看无内容)

学习目录如下 B站学习的名称--Android开发从入门到精通(项目案例版) 网址:https://www.bilibili.com/video/BV1jW411375J/ 第0章:安装 android stoid 参考地址https://blog.csdn.net/adminstate/article/details/130542368 第一章:第一个安卓应用 第二章:用户界面设…

备赛蓝桥杯-算法-动态规划

一、简单 1.爬楼梯 题目: 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢? 示例 1: 输入:n 2 输出:2 解释:有两种方法可以爬到楼顶。 1.…

SpringBoot使用MongoTemplate详解

1.pom.xml引入Jar包 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-mongodb</artifactId> </dependency> 2.MongoDbHelper封装 /*** MongoDB Operation class* author HyoJung* date …

37.云原生之springcloud+k8s+GitOps+istio+安全实践

云原生专栏大纲 文章目录 准备工作项目结构介绍配置安全测试ConfigMapSecret使用Secret中数据的方式Deployment使用Secret配置Secret加密 kustomize部署清单ConfigMap改造SecretSealedSecretDeployment改造Serviceistio相关资源DestinationRuleGatewayVirtualServiceServiceAc…

(3)(3.2) MAVLink2数据包签名(安全)

文章目录 前言 1 配置 2 使用 3 MAVLink协议说明 前言 ArduPilot 和任务计划器能够通过使用加密密钥添加数据包签名&#xff0c;为空中 MAVLink 传输增加安全性。这并不加密数据&#xff0c;只是控制自动驾驶仪是否响应 MAVLink 命令。 当自动驾驶仪处于激活状态时&#x…

未来已来!AI大模型引领科技革命

未来已来&#xff01;AI大模型正以惊人的速度引领着科技革命。随着科技的发展&#xff0c;人工智能在各个领域展现出了非凡的能力和潜力&#xff0c;大模型更是成为了科技领域的明星。从自然语言处理到图像识别&#xff0c;从智能推荐到语音识别&#xff0c;大模型的应用正在改…

python自学3

第一节第六章 数据的列表 列表也是支持嵌套的 列表的下标索引 反向也可以 嵌套也可以 列表的常用操作 什么是列表的方法 学习到的第一个方法&#xff0c;index&#xff0c;查询元素在列表中的下标索引值 index查询方法 修改表功能的方法 插入方法 追加元素 单个元素追加 多…