youtube为什么知乎?

mip.xncswj.com 2025-12-29 07:35:21
本文介绍youtube为什么知乎?
Youtube DNN经典论文

最近在看王喆的知乎专栏,第三、四、十三篇都是Youtube的经典论文DNN:    

youtube为什么知乎?

跟着大佬又回顾了一下,发现之前真的只能算是一知半解,趁着这次把对这篇论文的新的理解记录一下,可能还会有一些错误。

youtube为什么知乎?

论文讲解了在召回和精排两个阶段的模型:

youtube为什么知乎?

召回:

先从特征说起:用户观看过的video的embedding,用户搜索词的embedding,用户的地理位置、年龄等side_infomation,还有exampl_age这个需要解释的特征

然后是模型:三层DNN

最后是training的loss:softmax做分类

serving的方式:nearest neighbor

里面其实有很多疑点:

1.example_age是什么

这个点专栏里说是训练时间 - 得到这条样本的时间(视频点击时间),但是我觉得这样表达不出“新视频”这个概念,也不知道用当前时间去减是啥意思,label是点击那一刻打上去的,又不是训练的时候;

所以我觉得这个example age应该是点击时间-上架时间,表示用户对新上架视频的偏好,用这个特征去捕获这个偏好了,在serve的时候全都置为0就可以消除这个偏好,毕竟这是召回阶段,可以多召回些东西。(这样就是消除用户对新视频的偏好了?)

2.为什么要做多分类,而不是预测分,多分类的话有海量视频,性能怎么保证

为什么要做多分类,而不是把样本的embedding也给到网络里做打分,这一点我是真的没弄明白;

海量视频的多分类性能的提升是用到了sampled softmax,可以参考   总的来说就是通过Q(y|x)采样出一个子集,对子集计算logits,然后用计算结果F(x,y)-log(Q(y|x))可以表示原数据集上的logits

3.serving阶段为什么不做多分类了,而是做nearest neighbor

这里首先要弄明白serving阶段的user embedding和video embedding是什么,user_embedding是最后一层relu之后的结果,比如是一个d维的向量;然后要得到一个几百万维(用d_N表示)的向量,需要过一个d*d_N维的矩阵,这个矩阵的每一列训练完之后就是video embedding;如果是serving的阶段依然是和每一列相乘,再算一个softmax,既然分母是一样的,取指数的操作也是一样的,那么就直接做点积就好了。

排序:

先从特征说起:当前排序的video的embedding,用户观看过的video的embedding,用户和video的语言embedding,time since last watch是自上次观看同channel视频的时间,previous impressions是该视频已经被曝光给该用户的次数(这里已经引入了负反馈的思路)

然后是模型:三层DNN

最后是training的loss:weighted logistic

serving的方式:e^(Wx+b)

这里面也有一些疑点:

1.training时候的weighted logistic是什么,为什么serving的时候用的是e^(Wx+b)

这个点是我重读的时候最没理解的地方,先尝试写一下,这里首先要搞清楚weighted logitstic是什么,那先回顾一下LR的公式的由来是log(odds) = w*x;这里的odds=p/(1-p)表示正样本发生的概率/负样本发生的概率;在weighted LR里面这个odds要变成W*p/(1-p)这里的W就是给正样本加的权重,至于为什么是这样有一种解释是用正负样本比去解释的,我觉得不是很合理 ;但是如果能够接受这个odds的话,那么log(odds) = w*x就可以得到odds = e^(wx),后者就是serving的目标;

再说W*p/(1-p)是什么,这里W权重是这条视频的时长T,那么sum(Ti*pi)就是E(T)即时长的期望,E(T)/(1-p)泰勒展开就是E(T)*(1+p)这里的p很小的话其实就是E(T)也就是说serving的时候其实得到的就是观看时长的期望,这里如果用到电商里用price去加权,得到的应该也是对price的预估。

还是非常建议多去看一下十大工程问题那篇专栏,讲到了更多,比如对每个用户提取等数量的训练样本、把大量长尾video的embedding置0这些方法的出发点。

2020年最值得学习的5大编程语言

今天给大家盘点2020年最值得学习的五大编程语言,掌握了这些语言你不仅能顺利找到一份好的工作,而且还没有相关学历要求。在盘点中,我们主要考虑了以下三方面,对语言进行排名,分别是:

一、要学多久

即学习、掌握这门语言所要的时间,从零基础的小白入门,最终能做出实际的项目。

二、市场需求

市场对这门语言需求如何,薪资待遇是怎样的。

三、整体效率

学这门语言的效率和收益如何?从编程领域的个人发展来看,这是十分关键的,学多久你才能做出相关项目。

当在创业公司和中小型公司工作时,你需要在很短时间内就能上手,做出可用的模型或应用。

下面我们来具体盘一盘,看看2020年最值得学习的五大编程语言有哪些。

TOP 5

Java

Java是很多人熟知的一款老牌编程语言。它是面对对象的编程语言,常用于开发许多安卓应用。这也是为什么即使到今天,还有很多人在使用Java。

许多大型公司也还在使用Java,许多交易软件也是用Java写的。

但如今Java的热门程度有所下降,因为现在,人们还可以用Kotlin之类的新兴语言来开发安卓应用。

因此在谷歌趋势可以看到,近五年Java的热门程度在下降。

除此之外还是有很多Java的工作岗位需求的,根据国外著名招聘网站indeed,在美国,Java程序员的平均年薪为103,346美元。

TOP 4

Swift

Swift是苹果用于iOS系统的编程语言。

如果你想自己写的应用能展现在App Store上,或者是实现每个程序员的梦想,通过自己精心编写的应用获得“睡”后收入,那么Swift就是不错的选择。

Swift是当下非常流行的编程语言,而且根据谷歌趋势,它的热门程度比较稳定,在近五年都比较平稳,没有明显下降。

同时,Swift学习起来对新手特别友好,网上有很多学习资源,除此之外它学起来也特别有意思。

对比起来,新手学习Java会让你痛不欲生,但Swift学习来就简单些。

根据indeed的数据,美国Swift程序员的平均年薪为115,000美元。

TOP 3

SQL

SQL既可以每个字母分开念,也可以念成Sequel。

有些人争论说SQL不是编程语言,但其实它的全称是structured query language 结构化查询语言。

我强烈建议学一学SQL,不论你在工作中使用哪种语言,如果你想编写手机应用或web应用的话,你都需要处理数据,但如果不会SQL的话,那你就束手无策了。

在增加微博和抖音时,我们会对其他人发布的内容、视频或评论点赞,这些点赞信息和发布的内容是会被存储起来的。当你退出账号,重新登录,这些内容还在。

而这些数据和信息都是通过SQL储存的,这也是我认为SQL是非常值得一学的原因。

无论你想从事哪方面的编程和开发,特别对于web端的后端开发,或全栈开发者来说,你必须会SQL。

根据indeed的统计,美国SQL程序员的平均年薪为89,000美元。

TOP 2

JavaScript

看到这里很多人会有争议,为什么JavaScript才排第二,而不是第一呢?

根据谷歌指数和(PYPL index)编程语言流行指数,比起最后我们要说的那门语言,JavaScript目前排名第二。

首先,用JavaScript能做些什么呢?

JavaScript是非常强大的一门语言。如果你想做web开发,编写web应用,那么JavaScript就是你的不二选择。

无论你想做全栈工程师、前端或后端开发,熟练掌握JavaScript是很有必要的。

JavaScript非常流行,在GitHub上常常有新的框架出来。而且有大量JavaScript相关的框架和库,比如React、Vue.js等等。

所有的web浏览器都支持JavaScript。当你要编程,特别是web编程时,JavaScript是必不可少的工具。

根据indeed,JavaScript程序员的平均年薪为113,000美元。

TOP 1

Python

如今Python是炙手可热的编程语言,根据谷歌趋势在近五年,这是最热门的语言,妥妥的第一名。

同时根据编程语言流行指数,Python是实锤的热门编程语言TOP 1。

Python最牛的一点在于,万物皆可Python。而且功能非常强大。

要问Python到底有多强大?

在国内,很多大家比较熟悉的网站都是用python开发的,比如新浪、百度、知乎、豆瓣、知乎、网易等;

国外的话,谷歌、YouTube、Facebook等企业也在广泛使用python。

除此之外还有Dropbox、Quora、Hipmunk、Reddit、Instagram等等都是用Python开发的。

如果你想做Web开发,Python就可以。Python有许多框架和库可以用,帮你做许多数据科学应用。

以上就是关于编程语言排名前五的全部盘点了,希望可以帮助到大家,

 

b站是什么软件

B站:哔哩哔哩(bilibili)现为国内领先的年轻人文化社区,该网站于2009年6月26日创建,被粉丝们亲切的称为“B站”。

B站的特色:

是悬浮于视频上方的实时评论功能,爱好者称其为“弹幕”,这种独特的视频体验让基于互联网的弹幕能够超越时空限制,构建出一种奇妙的共时性的关系,形成一种虚拟的部落式观影氛围,让B站成为极具互动分享和二次创造的文化社区。B站目前也是众多网络热门词汇的发源地之一。

B站拜年祭:

bilibili自2010起,每逢除夕夜,便会举办二次元界必不可少的春晚—”拜年祭“,后被广大用户亲切的昵称为年轻人自己的“春晚”,自“拜年祭“举办以来,B站积极与众多站内UP主合作,成为每年中国除夕夜必不可少的重要活动。

B站的兴起:

2010年,刚刚由Mikufans更名为bilibili弹幕视频网的B站组织当时知名的UP主(“视频发布者”的简称)制作了一个春节拜年视频,这个被称为二次元“春晚”的活动让它有了点知名度。

而更多的ACG爱好者也因为俗称“新番”的动画,以及漫画连载聚拢,并从另一个ACG弹幕网站A站上迁徙而来。

UP主们像熟知路线的“老司机”,除了从YouTube、日本弹幕视频网站Niconico上“搬运”资源,他们也重新创造了新的ACG文化。

在“知乎”上被称为入门二次元必看的UP主“虐猫狂人薛定谔”就是如此,他习惯于右键保存微博图片,并将它们编辑制作成系列“微博上各种不科学的图”。

“B站和微博最大的不同是前者有很强烈的圈子氛围,更像是一个同好交流的平台。”他说道。对B站的认同转化成了排他,“虐猫狂人薛定谔”再没有把这些视频发布到其他平台了。

当兔丸、DQ、“虐猫狂人薛定谔”们聚集到B站,数量大到形成了一个群体时,这里终于也作为ACG地标被人们频繁地提起。

以上内容参考:百度百科-B站

学完Python都可以做什么

学习python主要是自学或者报班学习的方式,但不建议自学。

如果想通过学习python改行,那就需要明确一下自己的方向。因为python编程有很多方向,有网络爬虫、数据分析、Web开发、测试开发、运维开发、机器学习、人工智能、量化交易等等,各个方向都有特定的技能要求。

想学的话,当然是可以学习的。python是一门语法优美的编程语言,不仅可以作为小工具使用提升我们日常工作效率,也可以单独作为一项高新就业技能!

python可以做的事情:

软件开发:用python做软件是很多人正在从事的工作,不管是B/S软件,还是C/S软件,都能做。并且需求量还是挺大的;

数据挖掘:python可以制作出色的爬虫工具来进行数据挖掘,而在很多的网络公司中数据挖掘的岗位也不少;

游戏开发:python扩展性很好,拥有游戏开发的库,而且游戏开发绝对是暴力职业;

大数据分析:如今是大数据的时代,用python做大数据也是可以的,大数据分析工程师也是炙手可热的职位;

全栈工程师:如今程序员都在向着全栈的方向发展,而学习python更具备这方面的优势;

系统运维:python在很多linux中都支持,而且语法特点很向shell脚本,学完python做个系统运维也是很不错的。

互联网行业目前还是最热门的行业之一,学习IT技能之后足够优秀是有机会进入腾讯、阿里、网易等互联网大厂高薪就业的,发展前景非常好,普通人也可以学习。

想要系统学习,你可以考察对比一下开设有相关专业的热门学校,好的学校拥有根据当下企业需求自主研发课程的能力,能够在校期间取得大专或本科学历,中博软件学院、南京课工场、南京北大青鸟等开设相关专业的学校都是不错的,建议实地考察对比一下。

祝你学有所成,望采纳。

请点击输入图片描述

知乎页面为什么经常加载很慢?

因为这个平台的访问量很大。所以导致经常加载很慢。

有时候打开一个链接非常之慢,大量评论展开更是无法忍受。有时页面增加新完了,点任何连接都没有响应。或者说,任何一个网站很卡,都不大应该说是其后端的某个语言导致的(虽然写的很烂确实会导致卡顿,但你的问的这个肯定不是这个原因)。

对于这类访问量很大,同时又大量文本内容的网站,会大量使用Cache,也就是说直接从内存取数据不再频繁访问数据库,从这个层面基本各个语言都不会差太多,甚至HTML页面也都是cache出来的。

就是不要进入页面的时候把Ajax请求一口气全发出去,而是先等用户进入页面(比如8个请求的时候),然后页面基本信息渲染完毕后再依次发送其他Ajax请求。终于明白为什么上不了YouTube了,我还想补充一下,php也是垃圾啊,facebook那么大的网站,用php做的,根本上不去嘛。

首先,说Python慢,这是和编译语言比,比如与C、C++、ava比在动态语言中,它并不慢,它比Ruby要快,它和Perl性能相当。如果选择动态语言的话,Python并不是很慢。另一方面,如果做网站开发,语言的不是速度的瓶颈,比如现在用Python写的程序全部用C写。程序当然会快一点,但是改变不是很大。

Web网站一般会有很多对IO的操作,比如对数据库的访问,对硬盘的访问响应用户的请求,80%,90%你的时间都花在IO上,语言的速度,相对而言,不是那么重要。也可以这样说,网站的性能主要取决于架构设计的是否合理。因为网站需要响应大量的并发的请求,如果你的设计的不好,即使你用C写的,也可能无法应付。

所以更多的考虑是在架构设计上,要使架构体系不会产生速度瓶颈。

Python可以用来干什么?

1、做日常任务,比如下载视频、MP3、自动化操作excel、自动发邮件。

2、做网站开发、web应用开发,很多著名的网站像知乎、YouTube就是Python写的。

许多大型网站就是用Python开发的,例如YouTube、Instagram,还有国内的豆瓣。很多大公司,包括Google、Yahoo等,甚至NASA(美国航空航天局)都大量地使用Python。

3、做网络游戏的后台,很多在线游戏的后台都是Python开发的。

4、系统网络运维

Linux运维是必须而且一定要掌握Python语言,它可以满足Linux运维工程师的工作需求提升效率,总而提升自己的能力,运维工程师需要自己独立开发一个完整的自动化系统时,这个时候才是真正价值的体现,才能证明自身的能力,让老板重视。

5、3D游戏开发

Python也可以用来做游戏开发,因为它有很好的3D渲染库和游戏开发框架,目前来说就有很多使用Python开发的游戏,如迪斯尼卡通城、黑暗之刃。

6、科学与数字计算

我们都知道现在来临了大数据的时代,数据可以说明一切问题的原因,现在很多做数据分析的不是原来那么简单,Python语言成为了做数据分析师的第一首选,它同时可以给工作带来很大的效率。

7、人工智能

人工智能是一门极富挑战性的科学,从事这项工作的人必须懂得计算机知识,心理学和哲学。人工智能是包括十分广泛的科学,它由不同的领域组成,如机器学习,计算机视觉等等,总的说来,人工智能研究的一个主要目标是使机器能够胜任一些通常需要人类智能才能完成的复杂工作。Python语言对于人工智能来说是最好的语言。目前好多人都开始学习人工智能+Python学科。

8、网络爬虫

爬虫是属于运营的比较多的一个场景吧,比如谷歌的爬虫早期就是用跑Python写的. 其中有一个库叫 Requests ,这个库是一个模拟HTTP请求的一个库,非常的出名! 学过Python的人没有不知道这个库吧,爬取后的数据分析与计算是Python最为擅长的领域,非常容易整合。不过目前Python比较流行的网络爬虫框架是功能非常强大的scrapy。

9、数据分析

一般我们用爬虫爬到了大量的数据之后,我们需要处理数据用来分析,不然爬虫白爬了,我们最终的目的就是分析数据,在这方面 关于数据分析的库也是非常的丰富的,各种图形分析图等 都可以做出来。也是非常的方便,其中诸如Seaborn这样的可视化库,能够仅仅使用一两行就对数据进行绘图,而利用Pandas和numpy、scipy则可以简单地对大量数据进行筛选、回归等计算。

而后续复杂计算中,对接机器学习相关算法,或者提供Web访问接口,或是实现远程调用接口,都非常简单。


以上就是关于youtube为什么知乎?的介绍,更多问题请留言或者咨询老师呢

文档于 2025-12-29 07:35:21 修改