原文:Deep Learning 2: Part 1 Lesson 5

作者:Hiromi Suenaga

  • 课程论坛

一,引言

没有足够的关于结构化深度学习的出版物,但它肯定出现在行业中:

结构化深度学习,作者:Kerem Turgutlu @datascience.com

你可以使用此工具从 Google 下载图片并解决自己的问题:

小型图像数据集的乐趣(第2部分),作者:Nikhil B @datascience.com

如何训练神经网络的介绍(一篇伟大的技术写作):

我们如何“训练”神经网络?,由 Vitaly Bushaev @datascience.com

学生们在 Kaggle 幼苗分类比赛中与 Jeremy 竞争。

II. 协同过滤 - 使用 MovieLens 数据集

讨论的笔记本可以在这里找到(lesson5-movielens.ipynb)。

我们来看看数据。 我们将使用userId (类别), movieId (类别)和rating(因变量)进行建模。

ratings = pd.read_csv(path+'ratings.csv')
ratings.head() 

为 Excel 创建子集

我们创建了最受欢迎的电影和大多数电影狂热粉的交叉表,我们将其复制到 Excel 中进行可视化。

g=ratings.groupby('userId')['rating'].count()
topUsers=g.sort_values(ascending=False)[:15] 
g=ratings.groupby('movieId')['rating'].count()
topMovies=g.sort_values(ascending=False)[:15] 
top_r = ratings.join(topUsers, rsuffix='_r', how='inner', on='userId')
top_r = top_r.join(topMovies, rsuffix='_r', how='inner', on='movieId') 
pd.crosstab(top_r.userId, top_r.movieId, top_r.rating, aggfunc=np.sum) 

这是包含上述信息的 excel 文件。 首先,我们将使用矩阵分解而不构建神经网络。

每个预测是电影嵌入向量和用户嵌入向量的点积。 在线性代数术语中,它等于矩阵乘积,因为一个是行,一个是列。 如果没有实际评级,我们将预测设置为零(将其视为测试数据 - 而不是训练数据)。

然后我们使用梯度下降来减少损失。 Microsoft Excel 在加载项中有一个“求解器”,可以通过更改所选单元格来最小化变量(GRG Nonlinear是你要使用的方法)。

这可称为“浅学习”(与深度学习相反),因为没有非线性层或第二线性层。 那么我们直觉上做了什么呢? 每部电影的五个数字称为“嵌入”(潜在因式) - 第一个数字可能代表科幻和幻想的程度,第二个数字可能是电影使用了多少特效,第三个可能是对话驱动的程度。与之类似,每个用户还有 5 个数字,例如,表示用户喜欢幻想,特效和对话驱动的电影的程度。 我们的预测是这些向量的叉乘。 由于我们没有每个用户的每个电影评论,因此我们试图找出哪些电影与这部电影相似,以及其他用户评价其他电影,如何与这个用户评价这个电影类似(因此称为“协同”)。

我们如何处理新用户或新电影 - 我们是否需要重新训练模型? 我们现在没有时间来讨论这个问题,但基本上你需要有一个新的用户模型或最初会使用的新电影模型,随着时间的推移你需要重新训练模型。

fast.ai 深度学习笔记:第一部分第五课相关推荐

  1. fast.ai 深度学习笔记:第一部分第一课

    原文:Deep Learning 2: Part 1 Lesson 1 作者:Hiromi Suenaga 课程论坛 入门 [0:00]: 为了训练神经网络,你肯定需要图形处理单元(GPU) - 特别 ...

  2. fast.ai 深度学习笔记:第一部分第二课

    原文:Deep Learning 2: Part 1 Lesson 2 作者:Hiromi Suenaga 论坛 笔记本 回顾上一课 [01:02] 我们使用 3 行代码来构建图像分类器. 为了训练模 ...

  3. fast.ai 深度学习笔记:第一部分第四课

    原文:Deep Learning 2: Part 1 Lesson 4 作者:Hiromi Suenaga 课程论坛 学生的文章: 改善学习率的方式 循环学习率技术 探索带有重启动的随机梯度下降(SG ...

  4. fast.ai 深度学习笔记:第一部分第三课

    原文:Deep Learning 2: Part 1 Lesson 3 作者:Hiromi Suenaga 课程论坛 学生创建的有用材料: AWS 操作方法 TMUX 第 2 课总结 学习率查找器 P ...

  5. 动手深度学习笔记(四十五)8.1. 序列模型

    动手深度学习笔记(四十五)8.1. 序列模型 8.1. 序列模型 8.1.1. 统计工具 8.1.1.1. 自回归模型 8.1.1.2. 马尔可夫模型 8.1.1.3. 因果关系 8.1.2. 训练 ...

  6. 深度学习笔记第一门课第一周:深度学习引言

    本文是吴恩达老师的深度学习课程[1]笔记部分. 作者:黄海广[2] 主要编写人员:黄海广.林兴木(第四所有底稿,第五课第一二周,第三周前三节).祝彦森:(第三课所有底稿).贺志尧(第五课第三周底稿). ...

  7. 《DeepLearning.ai 深度学习笔记》发布,黄海广博士整理

    深度学习入门首推课程就是吴恩达的深度学习专项课程系列的 5 门课.该专项课程最大的特色就是内容全面.通俗易懂并配备了丰富的实战项目.今天,给大家推荐一份关于该专项课程的核心笔记!这份笔记只能用两个字形 ...

  8. 第4篇 Fast AI深度学习课程——深度学习在回归预测、NLP等领域的应用

    前面几节叙述了卷积神经网络在图像分类中的应用,本节将描述深度学习网络在诸如回归预测.自然语言处理等领域的应用.主要内容如下: Drop Out策略,以及Fast.AI附加层架构分析. 结构化时间序列的 ...

  9. 深度学习笔记第一门课第二周:神经网络的编程基础(下)

    本文是吴恩达老师的深度学习课程[1]笔记部分. 作者:黄海广[2] 主要编写人员:黄海广.林兴木(第四所有底稿,第五课第一二周,第三周前三节).祝彦森:(第三课所有底稿).贺志尧(第五课第三周底稿). ...

最新文章

  1. java sessionid放入cookie_sessionID和cookie
  2. android 文本左对齐,在Android中与文本左可绘制对齐
  3. mac 安装 python 配置||虚拟环境
  4. docker多个容器一起打包_docker如何将容器打包成镜像
  5. 医疗小程序源码_不懂商城小程序源码,如何快速创建小程序商城?
  6. 4005基于邻接表的顶点的删除(C++,附思路)
  7. 【vue项目使用echarts实现区域地图绘制,且可点击单独区域】
  8. java mysql proxy_Amoeba是一个类似MySQL Proxy的分布式数据库中间代理层软件,是由陈思儒开发的一个开源的java项目...
  9. 利用vuex和localStorage实现vue菜单权限管理(笔记)
  10. PyTorch:tensor-数学API
  11. 解决okhttp的java.lang.IllegalStateException: closed错误
  12. W5500连不上的问题
  13. 【美赛备赛】word编辑公式全攻略
  14. 什么是反向跟单?反向跟单怎么运作?
  15. Linux后台运行程序最实用的两种方式
  16. 【中文乱码】深入分析 Java Web 中的中文编码问题
  17. 基于Yahoo网站性能优化的34条军规及自己的见解
  18. Python和FFmpeg将语音记录转换成可共享的视频,非常炫酷。
  19. 洛谷P5520 [yLOI2019] 青原樱 题解
  20. 仿蘑菇街界面应用(1)

热门文章

  1. (81)Verilog HDL:状态机一段式
  2. FPGA控制不其他芯片
  3. (12)verilog语言编写8路选择器
  4. 使用虚拟机VMware12定制安装redhat6企业版
  5. 网络性能优化(NAPI)
  6. ubuntu12.04装机后设置
  7. linux oa软件安装步骤,Ecology_OA_for_Linux安装手册
  8. 微信小程序|开发实战篇之十-一些细节处理
  9. java并发:初探sleep方法
  10. mysql ubuntu 注意点