✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进
⛄ 内容介绍
针对群体中的个体行为具有随机性及不确定性但在群体结构上却倾向于采取相同或相近策略的问题,提出一种基于卷积神经网络和贝叶斯网络的用户行为预测模型.卷积神经网络负责学习群体共性行为并进行预测,贝叶斯网络融入个人内在因素,客观情景因素及短期效应因素等特征对卷积神经网络的预测结果进行校正.模型旨在融合卷积神经网络优秀的识别能力及贝叶斯网络的因果推理能力,帮助决策者发现隐含在海量用户行为中的因果关系.最后的实验表明,该模型能够有效提升用户行为预测的正确率.
⛄ 部分代码
function options = network_options(params,XVal,YVal,show_plots)
if strcmp(params.optimizer,'sgdm') && show_plots == 1
options = trainingOptions(params.optimizer, ...
'MiniBatchSize',params.batch_size, ...
'MaxEpochs',params.max_epochs, ...
'InitialLearnRate',params.learn_rate, ...
'LearnRateSchedule',params.learn_rate_schedule, ...
'LearnRateDropFactor',params.learn_rate_drop_factor, ...
'LearnRateDropPeriod',params.learn_rate_drop_period, ...
'Shuffle',params.shuffle, ...
'L2Regularization',params.L2_reg, ...
'ValidationData',{XVal,YVal}, ...
'ValidationFrequency',params.validationFrequency, ...
'Plots','training-progress', ...
'Momentum',params.momentum, ...
'Verbose',false);
elseif strcmp(params.optimizer,'sgdm') && show_plots == 0
options = trainingOptions(params.optimizer, ...
'MiniBatchSize',params.batch_size, ...
'MaxEpochs',params.max_epochs, ...
'InitialLearnRate',params.learn_rate, ...
'LearnRateSchedule',params.learn_rate_schedule, ...
'LearnRateDropFactor',params.learn_rate_drop_factor, ...
'LearnRateDropPeriod',params.learn_rate_drop_period, ...
'Shuffle',params.shuffle, ...
'L2Regularization',params.L2_reg, ...
'ValidationData',{XVal,YVal}, ...
'ValidationFrequency',params.validationFrequency, ...
'Momentum',params.momentum, ...
'Verbose',false);
elseif strcmp(params.optimizer,'adam') && show_plots == 1
options = trainingOptions(params.optimizer, ...
'MiniBatchSize',params.batch_size, ...
'MaxEpochs',params.max_epochs, ...
'InitialLearnRate',params.learn_rate, ...
'LearnRateSchedule',params.learn_rate_schedule, ...
'LearnRateDropFactor',params.learn_rate_drop_factor, ...
'LearnRateDropPeriod',params.learn_rate_drop_period, ...
'Shuffle',params.shuffle, ...
'L2Regularization',params.L2_reg, ...
'ValidationData',{XVal,YVal}, ...
'ValidationFrequency',params.validationFrequency, ...
'Plots','training-progress', ...
'Verbose',false);
elseif strcmp(params.optimizer,'adam') && show_plots == 0
options = trainingOptions(params.optimizer, ...
'MiniBatchSize',params.batch_size, ...
'MaxEpochs',params.max_epochs, ...
'InitialLearnRate',params.learn_rate, ...
'LearnRateSchedule',params.learn_rate_schedule, ...
'LearnRateDropFactor',params.learn_rate_drop_factor, ...
'LearnRateDropPeriod',params.learn_rate_drop_period, ...
'Shuffle',params.shuffle, ...
'L2Regularization',params.L2_reg, ...
'ValidationData',{XVal,YVal}, ...
'ValidationFrequency',params.validationFrequency, ...
'Verbose',false);
else
disp('Model parameters not defined!')
end
⛄ 运行结果
⛄ 参考文献
[1]石嘉, 王秀丽, 李盛超. 基于朴素贝叶斯优化下的卷积神经网络诈骗短信分类方法和系统:, CN111198947A[P]. 2020.
[2]曾蔚, 吴伊萍. 一种基于卷积神经网络和贝叶斯网络的用户行为预测算法[J]. 安阳师范学院学报, 2019(2):6.