前言 广告算法的目标是为了直接增加公司收入。推荐算法虽然本质上也是为了增加公司收入,但其直接目标是为了增加用户的参与度。

一.广告算法与推荐算法的区别

-

1.优化目标的区别

+

1.优化目标的区别

广告算法的目标是为了直接增加公司收入。

推荐算法虽然本质上也是为了增加公司收入,但其直接目标是为了增加用户的参与度。

各公司广告算法的预估目标非常统一,就是预估CTR和CVR,因为CPC和CPA计价是目前效果类广告系统的主流计价方式。

推荐算法的预估目标就不尽相同,视频类更多倾向于预测观看时长,新闻类预测CTR,电商类预估客单价等等,都是针对业务场景来做优化

-

2.算法模型设计侧重点不同:

+

2.算法模型设计侧重点不同:

由于广告算法要预测“精准”的CTR和CVR,用于后续计算精确的出价,因此数值上的“精准”就是至关重要的要求,仅仅预估广告间的相对位置是无法满足要求的。这就催生了广告算法中对calibration方法的严苛要求,一定要估的准。

推荐算法的结果往往以列表的形式呈现,因此不用估的那么准,而是要更多照顾一个列表整体上,甚至一段时间内的内容多样性上对于用户的“吸引力”,让用户的参与度更高。

-

3.算法实现原理不同:

+

3.算法实现原理不同:

因为需要对每一条广告的CTR,CVR都估的准,广告算法基本全部都是point wise的训练方式,因为广告是很少以列表的形式连续呈现的。在采用负采样,weighted sampling等方式改变原始数据分布后,也需要在后续步骤中千方百计地把CTR,CVR纠正过来。

推荐算法就有大量不同的训练方式,除了point-wise,还有pair-wise,list-wise等等。此外为了增加用户的长期参与度,还对推荐内容的多样性,新鲜度有更高的要求,这就让探索与利用,强化学习等一些列方法在推荐场景下更受重视。

-

4.辅助策略不同

+

4.辅助策略不同

广告系统中,CTR等算法只是其中关键的一步,估的准CTR只是一个前提,如何让广告系统盈利,产生更多收入,还需要pacing,bidding,budget control,ads allocation等多个同样重要的模块协同作用,才能让平台利益最大化,这显然是比推荐系统复杂的。

推荐系统中,由于需要更多照顾用户的长期兴趣,需要一些补充策略做出一些看似“非最优”的选择,比如探索性的尝试一些长尾内容,在生成整个推荐列表时要加入多样性的约束,等等。这一点上,广告系统也需要,但远没有推荐系统的重视程度高。

-

5.本身的差异

+

5.本身的差异

在广告模型中,用户的兴趣是不那么连贯的,因此容易造成sequential model的失效,attention机制可能会更加重要一些。

推荐模型中,如果不抓住用户兴趣的连续变化,是很难做好推荐模型的。

总而言之,广告算法的问题更加琐碎,各模块协同工作找到平台全局利润最大化方法的难度非常大,系统往往异常复杂到难以掌控的地步;而推荐算法这边,问题往往卡在长期利益与短期利益的平衡上。 v2-63ba4b30e68137b031601f44c5d34ef1_r.webp

PS:常用术语

+
    +
  • 1.CPA(Cost Per Action) 每行动成本。CPA是一种按广告投放实际效果计价方式的广告,即按回应的有效问卷或注册来计费,而不限广告投放量。电子邮件营销(EDM)现在有很多都是CPA的方式在进行。

    +
  • +
  • 2.CPS(Cost Per Sales):以实际销售产品数量来换算广告刊登金额。CPS是一种以实际销售产品数量来计算广告费用的广告,这种广告更多的适合购物类、导购类、网址导航类的网站,需要精准的流量才能带来转化。

    +
  • +
  • 3.CPM(Cost Per Mille) 每千人成本。CPM是一种展示付费广告,只要展示了广告主的广告内容,广告主就为此付费。

    +
  • +
  • 4.CPT(Cost Per Time) 每时间段成本。CPT是一种以时间来计费的广告,国内很多的网站都是按照“一个星期多少钱”这种固定收费模式来收费。

    +
  • +
  • 5.CPC(Cost Per Click) 每点击成本。CPC是一种点击付费广告,根据广告被点击的次数收费。如关键词广告一般采用这种定价模式,比较典型的有Google广告联盟的AdSense for Content和百度联盟的百度竞价广告。

    +
  • +

通过以上信息我们知道:

-

(1)CPT和CPM只在第一步收取广告费用,即媒体只需要将广告对广告受众进行了展示,即可向广告商收取广告费用。

-

(2)CPC只收取第二步费用,消费者看到广告后并进行了点击行为以后,媒体向广告商收取广告费用。

-

(3)CPA和CPS处于第三步,即消费者有看到广告后并点击了广告,进一步了解活动情况后在广告主的网站完成某些特定行为(例如付款消费,填表注册等)。

+
    +
  • +

    CPT和CPM只在第一步收取广告费用,即媒体只需要将广告对广告受众进行了展示,即可向广告商收取广告费用。

    +
  • +
  • +

    CPC只收取第二步费用,消费者看到广告后并进行了点击行为以后,媒体向广告商收取广告费用。

    +
  • +
  • +

    CPA和CPS处于第三步,即消费者有看到广告后并点击了广告,进一步了解活动情况后在广告主的网站完成某些特定行为(例如付款消费,填表注册等)。

    +
  • +

二.常见的推荐算法有哪些?

  1. 协同过滤(Collaborative Filtering)
-

它是一种**基于用户行为或物品之间的相似性来进行推荐的方法。

+

它是一种基于用户行为或物品之间的相似性来进行推荐的方法。

  1. 矩阵分解( Matrix Factorization )
@@ -152,12 +172,12 @@

它是使用预定义的规则(可以手动定义或数据挖掘再学习)或条件来进行推荐。 v2-2a278d7caf78cfa628749d772d358aec_1440w.webp

三.实例分析

-

1.流量分级

+

1.流量分级

以视频平台B站和抖音为例,存在如下分级流量池机制:

1.Up主发了一个视频,并推送到他的粉丝那里,算法抓取视频的一些特征(如标题和标签的关键字),向有可能对这些关键字感兴趣的人推荐;

2.根据第一波推送的粉丝+用户的反馈数据(点赞、投币、收藏、完播、弹幕)的情况,B站根据推荐算法,再推荐给流量池B(其他用户),根据流量池B的用户反馈数据,再推荐到流量池C。

3.如此不断的进行推荐,如果算法认为该视频是热门(视频分数达到某个级别),那么B站就会给你一个更大的流量池,并且把你的视频推荐到“热门、排行榜、资源位”。

-

2.用户画像

+

2.用户画像

平台会记录用户使用App的习惯,得出用户行为路径,从而确定用户的初始标签,伴随着用户的持续使用,将持续优化标签。这个过程都是实时的机器算法。

那么这个采集的方法:就是个人资料的填写,关键词搜索的记录,浏览的比较多的类目视频,点赞视频数据,评论数据,通讯录的圈子关系等。

@@ -166,9 +186,9 @@

标签主要分成两大类:静态标签与动态标签。

静态标签是用户主动呈现给平台的,例如初始关注,个人信息,个人昵称,喜好的频道,稍后再看,反馈以及不感兴趣等等;

动态标签是用户在浏览平台时所产生的,主要是用户的行为特征,如阅读某一类标签视频时的停留时长,通过搜索功能提供的关键词等,包括搜索,评价,历史记录,稍后再看,离线缓存,我的收藏,以及最近看过的频道;收藏,点赞,投币,转发,三连操作等等。

-

3.数据共享

+

3.数据共享

除了用户使用APP的行为习惯会被记录之外,使用同系其他产品的行为习惯也同样会共享。如头条系,阿里系,腾讯系等等。

-

4.评论系统

+

4.评论系统

以B站阿瓦隆系统为例

阿瓦隆系统是哔哩哔哩官方在2021年6月26日发布的[BILIBILI 12周年演讲]中提到的一项评论管理系统。然而,其上线后评论区和弹幕区的语言环境并没有得到明显改善,反而出现了一些问题。恶意评论,人身攻击,辱骂和水军行为并没有减少,相反,合理的言论却面临高概率的误判和清除,尤其是包含情绪或见解的评论。

该系统的应用领域主要包括评论区、弹幕和私信。在直播评论区和弹幕上,实时审核是不可行的,因此系统选择将涉及不良内容的评论在所有人面前隐藏,除非是评论者本人。此外,在博主开启实时评论时,系统允许用户检查评论是否成功发布。

diff --git a/public/android-root/index.html b/public/android-root/index.html index 5a94d56..03bca6e 100644 --- a/public/android-root/index.html +++ b/public/android-root/index.html @@ -101,21 +101,47 @@

以权限系统为例,一般软件权限需要经过用户同意,即每次安装前出现的各种请求弹窗;而ADB权限常常用于开发者模式,可以调试一些比较深层的设置;至于root权限则为系统的最高权限,与Windows的system 权限相当(比administer还高)。因此,当我们具备了root权限后,就可以实现许多功能,例如屏蔽广告,虚拟定位,安装Google框架和软件,满血运行CPU等等。

三.如何root

首先我们要了解安卓系统的分区和启动。安卓的分区包括

-

1.recovery分区,类似PC端的PE环境,手机上的恢复出厂设置即为从recovery恢复;

-

2.cache分区,保存系统最常访问的数据和应用程序。 擦除这个分区,不会影响个人数据,只是删除了这个分区中已经保存的缓存内容;

-

3.boot分区,类似PC端的MBR分区,用来引导系统启动,擦除后手机会卡在开机logo的界面;

-

4.system分区,包括操作系统与软件,vendor定制文件与库文件等等,擦除后会卡在开机的动画界面;

-

5.data分区,存放用户数据和系统设置,擦除后不影响系统的运行。

-

6.手机启动阶段存在名为bootloader的程序,与PC端的BIOS类似,被称为fastboot模式,厂商一般会将其锁定。 -图片.webp -早些年间,存在大量一键root,kingroot 之类的软件,可以直接刷写root包,获得root权限,但成功率不高;

+
    +
  1. +

    recovery分区,类似PC端的PE环境,手机上的恢复出厂设置即为从recovery恢复;

    +
  2. +
  3. +

    cache分区,保存系统最常访问的数据和应用程序。 擦除这个分区,不会影响个人数据,只是删除了这个分区中已经保存的缓存内容;

    +
  4. +
  5. +

    boot分区,类似PC端的MBR分区,用来引导系统启动,擦除后手机会卡在开机logo的界面;

    +
  6. +
  7. +

    system分区,包括操作系统与软件,vendor定制文件与库文件等等,擦除后会卡在开机的动画界面;

    +
  8. +
  9. +

    data分区,存放用户数据和系统设置,擦除后不影响系统的运行。

    +
  10. +
+

6.手机启动阶段存在名为bootloader的程序,与PC端的BIOS类似,被称为fastboot模式,厂商一般会将其锁定。

+

图片.webp

+

早些年间,存在大量一键root,kingroot 之类的软件,可以直接刷写root包,获得root权限,但成功率不高;

因此,现在主流的刷机步骤为

-

1.解开bootloader,俗称解BL锁。

-

2.刷入第三方recovery,比如大名鼎鼎的TWRP;

-

3.进入recovery模式,通过TWRP刷入其他系统(可选),包括线刷和卡刷两种方法;

-

4.刷入Magisk(面具)工具,通过修补img文件获得root权限;

-

5.安装Magisk模块和Lsposed框架(可在其中下载许多模块,推荐一键救砖,系统优化和root隐藏)

-

6.安装Momo软件检测系统环境是否正常。

+
    +
  1. +

    解开bootloader,俗称解BL锁。

    +
  2. +
  3. +

    刷入第三方recovery,比如大名鼎鼎的TWRP;

    +
  4. +
  5. +

    进入recovery模式,通过TWRP刷入其他系统(可选),包括线刷和卡刷两种方法;

    +
  6. +
  7. +

    刷入Magisk(面具)工具,通过修补img文件获得root权限;

    +
  8. +
  9. +

    安装Magisk模块和Lsposed框架(可在其中下载许多模块,推荐一键救砖,系统优化和root隐藏)

    +
  10. +
  11. +

    安装Momo软件检测系统环境是否正常。

    +
  12. +

四.哪些机型可以root

看到这里很多小伙伴肯定跃跃欲试,不过在2023年的今天,能root的机型还是比较少。首先是最容易的一加和小米,可以申请官方解BL锁,需要等待7天;其次是联想,索尼等海外品牌,也比较容易;而oppo和vivo及其子品牌iqoo和realme一般是不行的;苹果的越狱在10代前是可以的,而华为全部机型都是不可以的,除非上万能的淘宝收费解锁,直接烧录芯片;至于三星,BL锁一旦解开就会触发芯片物理熔断机制,无法使用pay以及升级系统,体验极差。因此,刷机有风险,root需谨慎!刷机前要了解相应的厂商,考虑保修和变砖的问题!

五.具体操作流程

@@ -127,30 +153,30 @@ 3.解锁完成后在https://mifirm.net/downloadtwrp/148 中下载对应的TWRP版本,注意redmi的海外名为Poco。 图片-fvmc.webp 4.随后用数据线连接手机,用其中的一键刷写刷入TWRP;随后下载rom包,可以选择原版,官改版,海外版和类原生版。相关链接:

-

https://miuiver.com/

-

https://mi.fiime.cn/Android

-

这里选择 https://c.mi.com/global/miuidownload/index

+

https://miuiver.com/

+

https://mi.fiime.cn/Android

+

这里选择 https://c.mi.com/global/miuidownload/index

下载时注意一并下载boot.img文件,作为Magisk的修补用。然后下载Magisk包,与rom一起存入TF卡或者U盘中。

-

Magisk : https://magisk.me/zip/

-

#注意,由于本机型为新型AB分区(https://www.jianshu.com/p/b2726b304801) 因此如果刷机失败,需要下载原厂包用以恢复AB分区,否则无法启动和安装rom。

+

Magisk : https://magisk.me/zip/

+

注意,由于本机型为新型AB分区https://www.jianshu.com/p/b2726b304801) 因此如果刷机失败,需要下载原厂包用以恢复AB分区,否则无法启动和安装rom。

5.通过搞机工具箱进入recovery模式,首先我们在wipe中清除Data、Cache两个分区,俗称“双清”,随后在高级清除选项中清除Data、Cache、Dalvik Cache和System分区,俗称“四清”。 图片-jout.webp 图片-rdqx.webp 6.清除完成后即可开始刷机。将TF卡或者U盘插入手机,在“安装”中选择rom包,右滑确认刷机;随后如法炮制,刷入 magisk.zip包,不然会卡在开机logo界面,俗称“卡米”。 图片-tabl.webp 7.刷完之后重启,则会进入安装界面。注意:如果刷的是海外版的包,千万不能联网安装,否则会失败且变为国内版。

-

#据说miui13以后优化不好,这里使用12.5版。 -图片-aquy.webp -随后可以看到桌面环境 -图片-ozqh.webp -8.此刻我们将下载好的boot.img文件复制到手机上,打开Magisk软件,在其中选择修补一个文件,选中boot.img,修复完成后可以看到超级用户一栏可以使用了,说明root完成。 -图片-ufkn.webp -图片-djlq.webp -六.Root后的模块安装

-

包括大名鼎鼎的yc调度,Lposed框架,李跳跳和scene软件都是必备的,这些资源可在我的alist中下载:https://share.dich.ink/STORJ/ROOT

+

据说miui13以后优化不好,这里使用12.5版。 +图片-aquy.webp

+

随后可以看到桌面环境 +图片-ozqh.webp

+

8.此刻我们将下载好的boot.img文件复制到手机上,打开Magisk软件,在其中选择修补一个文件,选中boot.img,修复完成后可以看到超级用户一栏可以使用了,说明root完成。

+

图片-ufkn.webp +图片-djlq.webp

+

六.Root后的模块安装

+

包括大名鼎鼎的yc调度,Lposed框架,李跳跳和scene软件都是必备的,这些资源可在我的alist中下载:https://share.dich.ink/STORJ/ROOT

后记

关于root的其他用途还有很多,这里就不一一列举,分享一些常用模块:

-

https://sspai.com/post/68531

+

https://sspai.com/post/68531