✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进


⛄ 内容介绍

针对群体中的个体行为具有随机性及不确定性但在群体结构上却倾向于采取相同或相近策略的问题,提出一种基于卷积神经网络和贝叶斯网络的用户行为预测模型.卷积神经网络负责学习群体共性行为并进行预测,贝叶斯网络融入个人内在因素,客观情景因素及短期效应因素等特征对卷积神经网络的预测结果进行校正.模型旨在融合卷积神经网络优秀的识别能力及贝叶斯网络的因果推理能力,帮助决策者发现隐含在海量用户行为中的因果关系.最后的实验表明,该模型能够有效提升用户行为预测的正确率.

pytorch做贝叶斯神经网络 贝叶斯优化神经网络_开发语言

pytorch做贝叶斯神经网络 贝叶斯优化神经网络_pytorch做贝叶斯神经网络_02

pytorch做贝叶斯神经网络 贝叶斯优化神经网络_matlab_03

pytorch做贝叶斯神经网络 贝叶斯优化神经网络_开发语言_04

⛄ 部分代码

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

⛄ 运行结果

pytorch做贝叶斯神经网络 贝叶斯优化神经网络_matlab_05

⛄ 参考文献

[1]石嘉, 王秀丽, 李盛超. 基于朴素贝叶斯优化下的卷积神经网络诈骗短信分类方法和系统:, CN111198947A[P]. 2020.

[2]曾蔚, 吴伊萍. 一种基于卷积神经网络和贝叶斯网络的用户行为预测算法[J]. 安阳师范学院学报, 2019(2):6.