且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

理解高斯函数,以及在推荐算法中的应用

更新时间:2022-07-18 10:31:58

这是一个很有用的 公式比如:用户消费分值权重 , 产品关联分值权重 等等 

公式  理解高斯函数,以及在推荐算法中的应用

在 http://www.wolframalpha.com 中表示 :
e = (1+1/n) ^n
a*e^(-(x-b)^2/c^2)  
a 峰值最大值 
b 峰值x轴偏移量
c 弧度跨度 


理解高斯函数,以及在推荐算法中的应用  =  1*e^(-(x-1)^2/1^2) 
理解高斯函数,以及在推荐算法中的应用



修改 峰值 a = 2
理解高斯函数,以及在推荐算法中的应用
理解高斯函数,以及在推荐算法中的应用

这里 就 不一一展现 b 峰值x轴偏移量 , c 弧度跨度 了 大家可以 去 wolframalpha 自己去尝试
实例1 与时间有关的递减 :

import math
def gaussian(x,peak=1.0,axis=1.0,span=1.0):
    
return peak*math.e**(-(x-axis)**2/(span)**2 )


跨度 c 参考:
= 1 : 在2.5 附件急剧衰减
= 2 : 4
= 18 :30 # 这个数 衰减统计 一个月 不错
= 55 :90 # 衰减统计 一个季度 不错


#简单应用 
消费1次得峰值4分 浏览1次峰值2分 
统计某用户季度得分
数据:在前10天浏览10次,消费1次 ,前11天浏览5次 
d10 
= gaussian(10,span=55.0)
d11 
= gaussian(11,span=55.0)
print d10*10*2+d10*4*1+d11*5*2
#结果 33.0407089687
倒的高斯 - 实例2  :
公式 = 理解高斯函数,以及在推荐算法中的应用
理解高斯函数,以及在推荐算法中的应用
目的 与次数有关的产品分值化
#用户 对 某产品 分值化
#
 比如 某用户 用过某产品 n次,我希望 n 无限大是一个 渐进某个值 而不是和 n 无限递增的
#
下面的 fun 结果是  1.6 ~ 10 分值直接的区域, 也就是 传说中的 产品感兴趣 “10分制” 简易版   
def gs(x,peak=9.0,axis=-2.0,span=11.0):
    
return "%.4f" % (-1*peak*math.e**(-(x-axis)**2/(span)**2 )+peak+1)


>>> gs(1)
'1.6451'
>>> gs(2)
'2.1148'
>>> gs(3)
'2.6800'
>>> gs(4)
'3.3161'
>>> gs(5)
'3.9970'
>>> gs(6)
'4.6969'
>>> gs(60)
'10.0000'

本文转自博客园刘凯毅的博客,原文链接:理解高斯函数,以及在推荐算法中的应用,如需转载请自行联系原博主。