论文精读7:PNN
论文题目:Product-based Neural Networks for User Response Prediction作者:交大张伟楠老师及其合作者发表时间:2016年
1 研究背景目前平台上的数据大部分是通过独热编码转换成高维稀疏二进制特征表示。对于这种极端的稀疏性数据,传统模型从数据中挖掘特征的能力较差。
PNN 论文是构建一个预测模型来估计用户在给定上下文中单击特定广告的概率。
例如当前的用户所处的场景是【星期日:周二,性别:男性,所在城市:伦敦】,那么可以使用独热编码表示为以下形式:
许多机器学习模型已经被提出来处理这种高维稀疏二元特征并有不错的效果,但是这种形式过度依赖特征工程来捕获高阶的潜在模式。可以使用 DNN 自动学习更具表现力的特征表示并提供更好的预测性能。
2 模型结构PNN 的模型结构图如下:
2.1 输出层从自顶向下的角度来看,PNN的输出是一个实数 $\hat{y} \in(0,1)$ 作为预测的CTR:
其中 $\boldsymbol{W}_{3} \in \mathbb{R}^{1 \times D_{2}}$ 和 $b_{3} \in ...
使用大模型API生成摘要
1 安装环境首先安装 PyPI 上的包,在 python 环境中执行如下命令。
1pip install --upgrade spark_ai_python
安装完成后,可以使用以下命令查看是否安装成功:
1pip show spark_ai_python
如果安装成功,将看到该包的详细信息,包括版本号、安装位置等。
上述结果显示安装成功。
2 获取调用密钥在环境安装完成后,调用大模型 API 时需要使用密钥。打开讯飞开放平台控制台。如果尚未登录,请先进行登录。
登录后,导航至 API 管理页面。创建一个新的应用,或者选择已有的应用。在应用详情页中,将看到相关的 API 密钥和其他配置信息。登录成功后的界面如下:
选择左侧的“Spark4.0 Ultra”大模型,可以免费领取 100000 个 token。然后右侧显示当前用户的 APPID、APISecret 和 APIKey,之后的步骤中会用到这几个信息。
3 生成摘要之后使用 sparkai 库来调用讯飞星火大模型的 API,生成给定文章的摘要。以下是代码示例:
1234567891011121314151617181 ...
面试记录7:快手技术二面
1 面试背景
面试公司:快手
面试岗位:推荐算法实习生【模型算法】
面试类型:技术二面
面试时间:2024-12-10 14:00~15:00
面试结果:待定
2 整体感受第一眼感觉面试官 30~40 岁之间,之后没有让我自我介绍,直接让我找一个自己做的好的项目介绍。当时感觉面试官有点不一样,一般都先让自我介绍。
之后问了我几个问题,我都答上来了,然后就是手撕代码环节,也是很快就做出来了,最后面试官的意思基本就是通过了,问我什么时候能去之类的。总之,还是挺好的,找到了实习。
后来了解到面试官是那个组的 leader 😮。
3 提问的问题
面试官:新闻推荐比赛的数据集规模大概是多少?
数据集的话是一共有30万个用户,然后是20万个用户作为训练集,然后5万个用户作为公共的测试集,剩下的5万作为私有的测试集。然后新闻的话大概是60万个新闻。
面试官:你的方案有什么创新点?
首先我对传统的协同过滤进行了改进,传统的协同过滤只考虑两个物品,比如说同时被点击的次数,但是并没有考虑点击顺序和点击时间的权重。balabala……
面试官:除了做一些特征工程,模型结构上有啥变化吗?
b ...
读书记录6:活着
《活着》是中国当代作家余华创作的长篇小说,首次发表于《收获》1992年第6期。
1 前言2024-09-11 看完的书今天才有机会把读后感写下,当时看这本的感受就是一个:惨。感觉自己每天的生活和福贵相比真的幸福极了。所以还有什么理由不享受当下的生活呢?还有什么理由不开心呢?
2 经典语录
做人还是平常点好,争这个争那个,争来争去赔了自己的命。
人要是累得整天没力气,就不会去乱想了。
世界上没有一条道路是重复的,也没有一个人生是能够替代的。
人是为活着本身而活着的,而不是为了活着之外的任何事物所活着。
生活是属于每个人自己的感受,不属于任何别人的看法。
只要一家人天天在一起,也就不在乎什么福分了。
只要我始终保持事事留心的好学态度,即使衰老也算不得什么痛苦。
最恐怖的莫过于那个懂你的人在某一刻突然离开了你,整个生命就像不能承受般坍塌,你遥遥无期的盼望,却换来和陌生人一般的回答,伤心之处莫过于此。
父母越是关注你,对你的期望就越高,他们的关心像雪一样不断落到你的身上,最终把你压垮。
长日尽处,我站在你的面前,你将看到我的疤痕,知道我曾经受伤,也曾经痊愈。
3 允许无常诗人曾丰有 ...
面试记录6:快手技术一面
1 面试背景
面试公司:快手
面试岗位:推荐算法实习生【模型算法】
面试类型:技术一面
面试时间:2024-12-06 15:00~16:00
面试结果:通过 😊
2 整体感受在面试之前就很想去快手,所以很期待这次面试。面试官一进来感觉挺和善的,而且他还简单自我介绍了一下。面试官看起来年龄不是很大,感觉接近 30 的样子。
在面试过程中面试官会引导你去思考,有的问题并不是想问出来一个确切的答案,就是想让你自己去思考一下。所以我就遇到了很多开放的题目。
后面有两道手撕代码,第一道算笛卡尔积,第二道是动态规划,几乎都做出来了。整体感受还不错吧,但是还是要等面试结果出来。
3 提问的问题3.1 word2Vec
面试官:我看你这里用了一个 w2v 的方式对吧,能介绍一下基本的原理吗?
首先介绍一下 Word2Vec,Word2Vec 是一个生成对“词”的向量表达的模型。分为词袋模型和跳元模型。
利用物品序列是由特定用户的浏览、购买等行为产生的历史行为记录序列来生成 Embedding。输入向量表达就是输入层到隐层的权重矩阵 $\mathcal{W}_{V \times N}$,而 ...
面试记录5:百度技术一面
1 面试背景
面试公司:百度
面试岗位:AIGC—搜推方向
面试类型:技术一面
面试时间:2024-12-06 14:00~15:00
面试结果:通过 😊
2 整体感受百度是纯简历面,简历从上到下挨个问的,除了有一个可能和深度学习关系不大没问,其余都问了。然后一道手撕代码题,由于自己之前做过,所以一看到题目就知道怎么做,然后很快就把代码写出来了。
之后面试官让我写一个样例跑一下,一跑一个准,直接秒了。由于我使用的语言是 C++,但是推荐算法一般都是 Python,所以面试管又让我用 Python 对数组进行排序,使用什么排序方法都可以。其实我早就开始用 Python 刷题了,所以很快就写出来了。
整体来说感觉很好,没有什么很致命的失误,唯一需要改进的可能是有时候表达再清晰一些。
3 提问的问题3.1 特征工程
面试官:这个天池新闻推荐系统比赛中,你基本上用了哪些特征呢?
特征工程的话主要分为三个部分:用户特征、物品特征和用户历史交互特征。
3.1.1 用户特征
登录环境:用户点击环境、登录设备等特征(数据集中已给出)
用户的主题爱好特征:对于用户点击的历史文章主题进行一个统 ...
面试记录4:牵手未来技术一面
1 面试背景
面试公司:牵手未来
面试岗位:算法实习生
面试类型:技术一面
面试时间:2024-12-05 16:00~17:00
面试结果:不通过 😊
2 整体感受在面试之前,HR 说要做一个笔试题,我以为是机考,结果是下面这种:
当时感觉这个公司还挺专业,提前让你做题。其他公司都没有,但是我后来又想,那这样不就可以很充分的去准备这些题吗?包括查资料等。那面试的时候问你的肯定你都提前准备了,还怎么拉齐面试时的背景知识?
我当时就给做完了,然后进行面试。面试官问我是哪个学院的,我说软微,他说他也是软微的。
面试的过程特别奇怪,一般会进行简历面,针对简历上的内容提问。但是面试官看到我弄过棋类博弈,直接开始想这个能不能用到他们的业务中?然后几乎全是围绕着他们公司的场景来交流的。
反正面试感受特别差,还问我简历上有哪些亮眼的地方(你是面试官还是我是面试官 😂)。
晚上的时候 HR 说没有通过,我当时很震惊,我感觉我没有什么致命的失误,当时很纳闷,因为如果表现不好的话我自己也会感觉出来。
之后我上网查了一下,有一个回答:
当时突然好像明白了,好像知道为什么要做那个笔试题了,好像知 ...
大佬演讲2:李沐讲座
1 个人生涯
你想解决什么问题,导致你会去做什么事情。
2 打工人
公司也好,学校也好创造了一个比较简单的环境,待得越久,不是在一个更广的层次去思考一个问题。
3 PhD
博士还是看是否有研究价值,主要看个人追求,如果想要创造学术价值,并且真心热爱研究还是可以的,但是如果一心工作,读博士感觉很痛苦。
4 创业
所有的困难在你头上,逃避没有用,如果逃避它,就可能解决不了它。要热爱,才能真正做下去。
核心原因是有一个延迟享受,一个东西,可能5年之后才能得到正反馈。在没有立即正反馈的情况下,需要自己给自己加码,才能真正做下来这件事情。
5 动机
要有一个很强烈的动机,简单的欲望容易被满足,简单的恐惧容易被满足,一定要来自很深沉、很底层的欲望。
内心有什么特别不愿意分享出来的事情?
我感觉的话应该是有一些拖延的坏毛病,而且有的时候总是惯性思维,好像因为之前自己一直这么做,就下意识的去做一些事情。但是做一件事情之前,应该想一下是不是值得你去做这件事情。
想一下你背后的动机是什么?你是想要什么还是怕什么?直面自己的欲望,直面自己的恐惧。
需要把这种欲望和恐惧转换成向上的动机,动机一定是正 ...
如何成为一名优秀的推荐工程师
作为一名推荐工程师,所擅长的不应仅仅是机器学习相关知识,更应该从业务实践的角度出发,提升自己各方面的能力。
1 推荐工程师的 4 项能力抛开具体的岗位需求,从稍高的角度看待这个问题,一名推荐工程师的技术能力基本可以拆解成以下 4 个方面:知识、工具、逻辑、业务。
如果用技能雷达图的形式展示与机器学习相关的几个职位所需的能力,则大致如下图所示。
简单来说,任何推荐系统相关的工程师都应该满足 4 项技能的最小要求,因为在成为一名“优秀”的推荐工程师之前,首先应该是一名合格的工程师。不仅应具有领域相关的知识,还应具有把知识转换成实际系统的能力。推荐系统相关的从业者应该具有的最小能力要求如下:
知识:具备基本的推荐系统领域相关知识
工具:具备编程能力,了解推荐系统相关的工程实践能力
逻辑:具备算法基础,思考的逻辑性、条理性较强
业务:对推荐系统的业务场景有所了解
在最小要求的基础上,不同岗位对能力的要求也有所不同。结合上面的技能雷达,不同岗位的能力特点如下:
算法工程师:算法工程师的能力要求是相对全面的。作为算法模型的实现者和应用者,要求算法工程师有扎实的机器学习基础,改进和实现算法的 ...
面试记录3:MiniMax技术一面
1 面试背景
面试公司:MiniMax 大模型公司
面试岗位:大模型推荐&广告算法实习生
面试类型:技术一面
面试时间:2024-12-04 17:00~18:00
面试结果:通过 😊
2 整体感受
面试之前一点也不紧张,因为自己保研参加很多线下的面试,而且之前也参加过华为的面试等,所以心态不慌。
面试官刚进来的时候,一看就知道是个强者,前面的头发快没了,而且一副中年程序员的样貌。在面试的过程中还是挺放松的,也一直和面试官讨论技术问题。最后,面试管问我还有什么问题么?我就问了很多我自己关于推荐系统的思考,感觉很 nice,面试官也和我讨论了很多。
需要改进的地方:
自我介绍再背的熟一些
准备的再充分一些
感觉自己发挥的挺好的,没有什么硬伤,还有一些小细节需要优化吧。
3 提问的问题
面试官:你先介绍一下自己吧。
balabala………
3.1 Word2Vec
面试官:看到你参加了天池新闻推荐系统比赛,你可以说一下你是怎么用 Embedding 进行召回的吗?
我主要使用 2 种方法来进行 Embedding,分别是 Word2Vec 和 训练 YouTu ...