【预测模型】基于WMMSE的DNN算法实现数据预测

一、DNN反向传播算法算法介绍

 

    在了解DNN的反向传播算法前,我们先要知道DNN反向传播算法要解决的问题,也就是说,什么时候我们需要这个反向传播算法? 

    回到我们监督学习的一般问题,假设我们有m个训练样本:{(x1,y1),(x2,y2),...,(xm,ym)}{(x1,y1),(x2,y2),...,(xm,ym)},其中xx为输入向量,特征维度为ninnin,而yy为输出向量,特征维度为noutnout。我们需要利用这m个样本训练出一个模型,当有一个新的测试样本(xtest,?)(xtest,?)来到时, 我们可以预测ytestytest向量的输出。 

    如果我们采用DNN的模型,即我们使输入层有ninnin个神经元,而输出层有noutnout个神经元。再加上一些含有若干神经元的隐藏层。此时我们需要找到合适的所有隐藏层和输出层对应的线性系数矩阵WW,偏倚向量bb,让所有的训练样本输入计算出的输出尽可能的等于或很接近样本输出。怎么找到合适的参数呢?

    如果大家对传统的机器学习的算法优化过程熟悉的话,这里就很容易联想到我们可以用一个合适的损失函数来度量训练样本的输出损失,接着对这个损失函数进行优化求最小化的极值,对应的一系列线性系数矩阵WW,偏倚向量bb即为我们的最终结果。在DNN中,损失函数优化极值求解的过程最常见的一般是通过梯度下降法来一步步迭代完成的,当然也可以是其他的迭代方法比如牛顿法与拟牛顿法。如果大家对梯度下降法不熟悉,建议先阅读我之前写的梯度下降(Gradient Descent)小结

    对DNN的损失函数用梯度下降法进行迭代优化求极小值的过程即为我们的反向传播算法。

二、代码

``` % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % MATLAB code to reproduce our work on DNN research for ICASSP 2017. % Simply run "main.m", you will get the result for Gaussian IC case in section 4.3. % To get results for other sections, slightly modification may apply. % We also provide some pre-trained functions to show our results in Table. 1 & Table 2. % To run our code, Neuron Network Toolbox and Deep Learning Toolbox need to be installed first. % Code has been tested successfully on MATLAB 2016b prerelease platform. % % References: % [1] Haoran Sun, Xiangyi Chen, Qingjiang Shi, Mingyi Hong and Xiao Fu. % "LEARNING TO OPTIMIZE: TRAINING DEEP NEURAL NETWORKS FOR WIRELESS RESOURCE MANAGEMENT."

% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

clc clear clear all K = 10; numH = 50000; disp('####### Generate Training Data #######'); generate(K,numH);

disp('####### Train Deep Neural Network #######'); trainDNN(K,num_H);

disp('####### Evaluate Training Performance #######'); trainperformance(K,num_H);

disp('####### Evaluate Testing Performance #######'); testperformance(K,num_H) ```

三、演示结果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Matlab科研辅导帮

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

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

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

打赏作者

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

抵扣说明:

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

余额充值