比如要计算一个文章,它是否纳入网站首页的精选文章推荐(其得分为 z ),影响因子仅有文章点赞率(a)和文章浏览量(b)
公式 1: z = a × b
文章点赞率一般在零点几到几个百分点之间浮动,不同文章之间极端数值的差距,通常只有十余倍; 而文章浏览量从个位数到千万级别,不同文章之间的极端数值差距,动辄上万倍。
于是公式 1 会过多的受到文章浏览量(b)的影响,需要改进:
公式 2: z = a × log(b)
公式 2 立马大幅削弱了文章浏览量(b)的影响程度。
但问题是,如果在公式 2 的基础上,还需要进一步削弱文章浏览量(b)的影响程度,有什么数学角度上比较通用的方法么?
这种描述起来复杂的问题,着实不容易靠搜索引擎找到答案;从数学课本补起的话,又实在太过费力。 因此提问,感谢诸位。
1
ho121 2021-04-26 17:57:06 +08:00
Feature Scaling ?
|
2
Jirajine 2021-04-26 18:04:44 +08:00 via Android
那不就是权重么,weighting function
|
3
liprais 2021-04-26 18:06:50 +08:00
你搞个逻辑回归把这个权重算出来不就完了
|
4
aeron 2021-04-26 18:22:07 +08:00
用归一化,将 a,b 放到同一个数量级上
|
5
imn1 2021-04-26 18:27:34 +08:00
没有什么数学不数学的,只有你(或贵司)想咋样
这两年有个节目,无论表演得多好或者多差,按人气投票淘汰,这就是节目的本质,其他都是装,完了 |
6
czfy 2021-04-26 18:35:02 +08:00
最通常、最简单的做法是,将公式变为 z = xa + yb
x, y 是权重,自己调就是了.. |
7
konnnnn 2021-04-26 18:39:32 +08:00
自己设定一组 x,y,最小二乘法就好了(线性)
|
8
5xX4U5sUwdELgdQ3 2021-04-26 19:02:05 +08:00
简单来说就是归一化,把点赞率和浏览量视作一个二维的向量,然后除以向量长度。
btw,如果是做文章的推荐,用点赞率和浏览量作为指标是不是有点太 naive 粗暴了?,为什么不对文章进行分词统计词频,建立倒排索引,计算 tf-idf 权重,然后进行排序和推荐。(甚至都不用自己操心底层,直接调用 elasticsearch ) |
9
ksedz 2021-04-26 19:06:11 +08:00
可以继续 log:log(log(b))
感觉应该先整理一些 a, b 值,手动做个排名,转换成打分,再想办法去拟合 |
10
gaint97 2021-04-26 20:04:36 +08:00 via iPhone
主成因?
|
11
BiteTheDust 2021-04-26 22:07:44 +08:00
求一些值然后插值求函数呗
|
12
binux 2021-04-27 01:02:59 +08:00 via Android
先画一条你觉得分数应该长啥样的曲线,然后找一个长的像的方程,再找几个点拟合参数。
|