数学建模实例------结合BP神经网络和贝叶斯分类器对短视频中用户行为进行预测

前言

这是坚持更新的第四天,前两天更新了数学建模的一些基础模型,今天我们做一个数学建模的实例。
了解BP神经网络的同学知道,BP神经网络的用途之一就是用来做预测,但是由于BP神经网络是一种有监督的学习方式,在进行预测之前我们需要一些数据作为训练集。如果需要对短视频中用户的行为发生的概率进行预测,那么我们必须要知道一些用户行为发生的概率。
贝叶斯分类器通常是用来解决‘是’或者‘不是’的问题,但是和其他分类器有所不同的是他是通过概率来进行判断的,这就很好的对应了BP神经网络中所需的概率。
下面我们以今年腾讯提供的大数据挑战赛中的数据为数据集,结合BP神经网络和贝叶斯分类器来对用户的行为进行预测。

预测模型

由于数据集比较大(百万级别的数据),程序运行出来也需要一定的时间,本文只选取很小的一部分数据做实验,可以说明问题即可,具体数据如下所示:
在这里插入图片描述
userid代表用户,feedid代表视频;read_commend:当取值为1时代表查看了评论,0时代表没有看评论;comment:评论;play:视频播放时长;stay:视频停留时长,click_ava:查看头像,forward:分享(具体什么意思忘了,不过不要紧)follow:转发;favorite:收藏,like:点赞

朴素贝叶斯判别器模型

根据给定的数据集我们可以利用朴素贝叶斯分类器判断是否点赞,及点赞发生的概率,假设给定一条数据如下
在这里插入图片描述
为了避免朴素贝叶斯模型中出现概率为0的情况,我们对其中的参数进行拉普拉斯修正,朴素贝叶斯模型所需要的参数及其计算过程如下:
P=p(like)*p(read_comment|like)*p(comment|like)*p(play|like)*p(stay|like)*p(click_ava|like)*p(forward|like)*p(follow|like)*p(favorite|like);
其中p(A|B)表示条件概率,在B发生的条件下A发生概率,根据以上数据,我们可以直接计算其需要的参数:

%%使用matlab读取数据
useraction=readmatrix('useraction','outputtype','string');
%%把字符型转化为double型数据
useraction=str2double(useraction)
%%统计矩阵的维数
[N,M]=size(useraction);
%%计算p(like),并对p(like)进行拉普拉斯修正
Like=find(useraction(:,7)~=0);
p(like)=(length(like)+1)/(N+2);
%其余的条件概率我们只简单举个例子
%%对于离散型变量comment来说
Comment=0;
for i=1:N
	if useraction(i,6)~=0&&useraction(i,7)~=0
	Comment=Comment+1;
	end
end
p(commnet)=(Commnet+1)/(N+2);

对于连续型随机变量满足以下计算公式:

在这里插入图片描述

其中的u_ci,和theta_ci表示第c类样本的均值和方差,在本模型中就代表播放时间和停留时间的均值和方差。
选取一部分数据通过贝叶斯模型进行计算作为BP神经网络的输入(训练集)

BP神经网络

我们构建三层的BP神经网络,将用户的各项指标的值和朴素贝叶斯计算出来的概率作为训练集,通过输入新的数据,可以预测用户对新的视频的点赞的概率。假设通过贝叶斯模型得到的训练集数据如下:
时间关系,数据是虚构的
训练代码如下:

P=[1,1,0,1,0,1;0,1,0,0,0,1;358,258,53,88,62,135;455,400,53,157,62,227;0,0,0,1,1,1;1,1,1,0,1,0;0,1,0,1,0,0;0,0,0,1,0,0];
T=[0.2,0.3,0.05,0.8,0.4,0.5];
[p1,minp,maxp,t1,mint,maxt]=premnmx(P,T);
net=newff(minmax(P),[8,6,1],{'tansig','tansig','purelin'},'trainlm');
%设置训练次数
net.trainParam.epochs = 5000;
%设置收敛误差
net.trainParam.goal=0.0000001;
%训练网络
[net,tr]=train(net,p1,t1);
%输入数据
a=[1;1;32;34;0;0;1;0];
%将输入数据归一化
a=premnmx(a);
%放入到网络输出数据
b=sim(net,a);
%将得到的数据反归一化得到预测数据a
c=postmnmx(b,mint,maxt);
c

具体图像
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

总结

在实现上述过程中时,可以发现其实神经网络的效果其实有时候并不是令人那么满意,有兴趣的同学可以看一看大家对BP神经网络的改进。其次,其实如果同学们动手做了这个建模的话,其实单单一个贝叶斯判别器也可以实现一定的预测效果,但是不同用户的数据不同,不能把所有用户当成一个用户来处理,真正用贝叶斯模型去做“预测”的时候,可能需要搭建很多模型,特别是对数据很大的时候,比如有几万个用户的数据,你可能就要考虑几万个不同的模型,虽然程序实现起来不是特别难,但是贝叶斯模型始终是一个判别模型,做预测还是不太合适(个人观点)。
也有同学会问既然不同用户要不同考虑,那加上一个神经网络就不需要考虑用户之间的区别了吗?答案是否定的,加上神经网络我们依然要考虑这一点。所以,最后,我对这个模型的改进之处做了一些思考
1、为了结果的准确性,对不同用户的概率进行平均或其他方式的处理。
2、利用遗传算法或者其他数值算法对BP神经网络进行改进,提高最终结果的准确性和稳定性。

评论 3 您还未登录,请先 登录 后发表或查看评论
2019年,在流量红利逐渐消失的互联网下半场,视频带来的全新流量成为了各方角逐、深耕的新战场。在平台、资本、用户、创作者的共同催熟下,视频内容成为品牌商业营销最强聚集地,内容成为核心变量,出现在品牌营销、销售、运营的各个环节,改变着传统品牌建设的成本结构成长速度。在被重新定义的社媒营销环境,我们有幸看到了众多深谙视频内容营销玩法的品牌脱颖而出。它们,有大量的国货品牌,它们读懂了年轻人的消费渴望消费理念,坚定地走在了产品创新营销创新的前列;它们笃信视频流量的价值红人种草、带货的力量,用KOL的长效安利整合营销,告别旧貌、换得新颜。作为行业标杆,它们通过真金白银探索出的营销方法论、营销新思维值得被行业解读学习;它们身体力行所打造出来的经典案例,也值得被营销时代所记录。与此同时,我们也有幸看到了很多新的、优秀的MCN机构红人面孔,他们与品牌一道,引领着视频内容营销的创新突破。他们将内容价值、IP价值兑换为品牌价值,在坚定品牌投放信心同时,加速了视频内容营销指数级扩容、壮大。作为数据驱动的视频内容产业链服务商,火星文化有幸参与了众多品牌在2019年里的内容营销实战,并通过旗下卡思数据帮助广告主解决了红人甄选、内容创制、效果追踪结案分析等综合难题。在开局无比艰难的2020年,火星营销研究院选择用一份热腾腾的报告来开启属于视频直播的风暴之年。报告从数据的视角分析了2019视频发展的“得”与“憾”,也比分析了抖音、快手平台:内容创作生态的差异、粉丝偏好典型红人,并从KOL营销、蓝V运营挑战赛3个方向深度解析了视频内容营销发生的变化,同时,整理出实用性强的方法论代表案例供从业者学习参考。我们的初心是希望2020年:我们都能在寒冬里过得更好;也期望以真心换真心,得到你的认可、关注转载,成为指导你2020年视频内容营销实战的案头书。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:数字20 设计师:CSDN官方博客 返回首页

打赏作者

臭小子222

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值