✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。

🍎个人主页:Matlab科研工作室

🍊个人信条:格物致知。

⛄ 内容介绍

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

MATLAB实现BO-CNN贝叶斯算法优化卷积神经网络多输入单输出_贝叶斯网络

MATLAB实现BO-CNN贝叶斯算法优化卷积神经网络多输入单输出_卷积神经网络_02

MATLAB实现BO-CNN贝叶斯算法优化卷积神经网络多输入单输出_因果推理_03

MATLAB实现BO-CNN贝叶斯算法优化卷积神经网络多输入单输出_因果推理_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

⛄ 运行结果

MATLAB实现BO-CNN贝叶斯算法优化卷积神经网络多输入单输出_卷积神经网络_05

⛄ 参考文献

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

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

⛳️ 完整代码

❤️部分理论引用网络文献,若有侵权联系博主删除
❤️ 关注我领取海量matlab电子书和数学建模资料