| Algorithm 3: Find optimal and . |
| /* Load data on Fading channel ; */ 1 snr_k ← post-processing SINRs, bler ← BLER /* Calculate with and */ 2 snr_eff = -1 * alpha1 * tf.log(tf.reduce_mean (tf.exp(-1*snr_k/alpha2), axis = 1)) /* Decide target SNR by regression */ 3 target_snr ← predicted snr corresponding to BLER /* Calculate loss function */ 4 loss = tf.reduce_sum(tf.abs(tf.subtract (target_snr,snr_eff))) /* Select a training algorithm between Adagrad and RMSprop; Adagrad is selected in this case. */ 5 train = tf.train.AdagradOptimizer(0.1).minimize(loss) /* train = tf.train.RMSPropOptimizer(0.1).minimize(loss) ← when RMSProp is selected. */ /* Training data 4000 times */ 6 with tf.Session() as sess: 7 sess.run(init) 8 for i in range(4000): 9 sess.run(train) /* Calculate MSE in test data set */ 10 regressed_bler ← estimated BLER, y_data ← BLER 11 mse = np.mean(np.square(np.subtract(np.asarray(y_data), np.asarray(regressed_bler)))) |