推荐系统常用技术&架构
因为在业界带来了巨大的用户体验价值和商业价值,最近10年推荐系统在互联网系统应用的越来越广泛。 同时因为推荐系统是一个复杂的系统工程,各个公司算法/策略都是五花八门,同时也因为新的机器学习技术的应用,推荐系统方案也是在不断演进。 本文主要总结业界目前常用的技术/架构,是为对本人自身的经验总结,也希望这方面的初学者能够得到借鉴。
线性回归
线性回顾是最近基本的机器学习模型,它包含了机器最基本的思想。
- 确定学习模型和损失函数,初始化参数
- 损失函数的各个变量的梯度,根据学习步长产生新的变量
- 迭代步骤2,直到损失函数值不在缩小或者达到预定的迭代次数时, 退出循环,损失函数最小时,就是当前学习到的最优模型
推荐系统技术解析
推荐系统解析
推荐系统&个性化
- 推荐系统以相关方式向用户展示商品。相关的定义是特定于产品/上下文的。
- 个性化个性化系统以与个人用户相关的方式呈现推荐。用户期望其体验会根据与系统的交互而改变。相关性仍然可以是特定于产品/上下文的。
互动行为
- 正面(评价)
- 负面(评价)
- 显式
- 隐式
程序化广告流量接入流程
广告投放常规流程
SSP&ADX*DSP
header
<font color=red>Warning:</font>
Do not use in production.
endheader
title RTA
scale 800*300
sprite $bProcess jar:archimate/business-process
sprite $aService jar:archimate/application-service
sprite $aComponent jar:archimate/application-component
!includeurl Archimate.puml
'Elements'
frame "前端/需求端"{
Application_Service(AdOwner, "Advertiser") <<business-process>>
Application_Service(AdAgent, "AdAgent") <<business-process>>
Application_Service(DSP, "DSP") <<business-process>>
}
Rel_Flow_Right(AdOwner, AdAgent, "")
Rel_Flow_Right(AdAgent, DSP, "")
frame "中端/服务端"{
Application_Service(ADX_SSP, "ADX&SSP") <<business-process>>
}
Rel_Flow_Right(DSP, ADX_SSP, "")
frame "后端/落地端"{
Application_Service(Media, "媒体") <<business-process>>
}
Rel_Flow_Right(ADX_SSP, Media, "")
legend left
说明:
==
<$bProcess> :流量/资源
==
<$aService> :服务
==
<$aComponent> :组件
endlegend
广告接入类型
- cpt排期广告
- 自建广告品台
- 接入广告联盟
- 接入外部dsp
广告归因模型
点击归因
- 首次点击归因
- 最终点击归因
- 最终非直接点击归因
根据时间位置,周期等不同要素赋予不同比重或者比例进行归因
- 时间衰减归因
- 线性归因
- 基于位置归因
常用归因模型
首次点击归因和最终点击归因
相关链接
python2&python3程序兼容
2to3工具
2to3一般会随python解释器一起安装,是自动转化python2代码到python3代码的脚本工具,能够解决大部分常见的python3解释器不兼容python2代码问题。
python 基础一:基础语法和解释运行
认识python
python是解释执行的动态语言
python一般是运行解释器解析python文件(模块)来运行,或者可以通过调用(python -i)进行交互式开发(边写代码,边运行,是不是很酷?)
作为初学者,可以先通过“pip install ipython”安装ipython,然后通过调用“ipython”来启动交互界面,ipython是python交互式开发的增强工具,提供了自动补全,语法高亮的功能,可以更好的进行更好的进行交互式开发。
后面大部分提供的代码示例都可以放到ipython里演示。
python grpc 使用
grpc 是google开发的远程通信协议,和它最相近的产品的产品是apache基金会下的thrift协议。
两者都是很优秀的通信中间件产品,拥有很好的性能,支持大多数主要语言。
相对于thrift协议,更年轻,更轻量,grpc基于http2传输协议和protocol buffer(也可以使用json)序列化协议。
这也带来相对于thrfit的优点:
自建https站点
现在https已经成为web服务的标配了,由于完整的https部署流程需要一系列的备案申请ca的一些过程, 不适合开发人员调试https服务功能,这样创建自授权的https就很有用了。
(注:自授权的证书不会被浏览器识别为可信的证书,可以在系统中添加该ca证书为可信证书即可)
如下介绍创建自授权的https站点流程,以nginx配置为例:
python ABC类
python的元类(metaclass)和虚基类(ABC)