fast.ai 深度学习笔记:第一部分第五课-阿里云开发者社区

开发者社区> apachecn_飞龙> 正文

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

简介: 原文:Deep Learning 2: Part 1 Lesson 5 作者:Hiromi Suenaga 课程论坛 一,引言 没有足够的关于结构化深度学习的出版物,但它肯定出现在行业中: 结构化深度学习,作者:Kerem Turgutlu @datascience.
+关注继续查看

原文: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() 

image.png

为 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) 

image.png

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

image.png

  • 蓝色单元格 - 实际评级
  • 紫色单元格 - 我们的预测
  • 红色单元格 - 我们的损失函数即均方根误差(RMSE)
  • 绿色单元格 - 电影嵌入(随机初始化)
  • 橙色单元格 - 用户嵌入(随机初始化)

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

image.png

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

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

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

阅读更多

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
GAN正在成为新的深度学习
计算机视觉顶会CVPR 2018召开在即,从接收的论文看,这届会议展现出了怎样的趋势?你不要不信,生成对抗网络GAN,正在成为新的“深度学习”。
2286 0
算法学习之路|部分A+B
正整数A的“DA(为1位整数)部分”定义为由A中所有DA组成的新整数PA。例如:给定A = 3862767,DA = 6,则A的“6部分”PA是66,因为A中有2个6。
887 0
BOOST ASIO 学习专贴
本文已于20170903更新完毕,所有boost asio 代码均为本人手抄。编译器为vs2013,并且所有代码已经上传,本文下方可下载源码       为了学习boost asio库,我是从boost的官方boost asio的教程学起的。
1164 0
预定义异常 - PHP手册笔记
原文:预定义异常 - PHP手册笔记 Exception是所有异常的基类,类摘要如下:
573 0
Elasticsearch学习方法分享(真实有效)
Elasticsearch Elasticsearch是一个高度可扩展的开源全文搜索和分析引擎。它允许您快速,近实时地存储,搜索和分析大量数据。
1878 0
Linux 学习笔记-第一阶段-基础入门之Linux 安装与分区03
Overiew安装Linux,首先要有镜像文件,以CentOS为例,可以在官网或者国内某些镜像Server来获取镜像。根据自己的需要可以选择是 Everything 或者minimal iso.这里不写关于安装的细节,对于其中的一些关键步骤做些说明。
1157 0
+关注
apachecn_飞龙
Github:@wizardforcel 简书:@ApacheCN_飞龙 微博:@龙雀 CSDN:@wizardforcel ApacheCN 官网:apachecn.org 机器学习交流群:629470233
719
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载