基于arduino的双层人工神经网络

2022-11-19279
AI 快速预览详细 收起
本文介绍了如何在Arduino上实现一个简单的双层人工神经网络。使用线性激活函数y=1*x和学习率0.1,训练目标为t=6*x。通过详细的代码示例,读者可以了解神经网络的基本概念,并在Arduino上进行实际操作。适合初学者入门神经网络编程。

最近我看了一些关于神经网络的书,我觉得可以在arduino上运行一下。有兴趣的朋友可以去看一些入门书籍。激活函数我选的是y=1*x的线性函数,学习率是0.1,是单个神经元的,它的训练目标是t=6*x。

代码
/*!
 * MindPlus
 * uno
 *
 */

// 动态变量
volatile float mind_n_my_float_variable, mind_n_e, mind_n_g, mind_n_w, mind_n_x,
               mind_n_y, mind_n_l;


// 主程序开始
void setup() {
	dfrobotRandomSeed();
	Serial.begin(9600);
	mind_n_my_float_variable = 0;
	mind_n_e = 0;
	mind_n_g = 0;
	mind_n_w = 0.1;
	mind_n_x = 0;
	mind_n_y = 0;
	mind_n_l = 0.1;
	mind_n_g = (mind_n_w * mind_n_x);
	mind_n_y = mind_n_g;
	for (int index = 0; index < 10; index++) {
		mind_n_x = mind_n_my_float_variable;
		mind_n_g = (mind_n_w * mind_n_x);
		mind_n_y = mind_n_g;
		mind_n_e = ((6 * mind_n_my_float_variable) - mind_n_y);
		mind_n_w += ((mind_n_l * mind_n_e) * 1);
		mind_n_my_float_variable = (random(0, 100+1));
		Serial.println(mind_n_w);
	}
	mind_n_x = 20;
	mind_n_g = (mind_n_w * mind_n_x);
	mind_n_y = mind_n_g;
	Serial.println(mind_n_y);
}
void loop() {

}

附件

创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(5)
花生编程
花生编程
666
花生编程
花生编程
不错不错
三春牛-创客
三春牛-创客
图呢?
三春牛-创客
三春牛-创客
厉害厉害
摸鱼的网民
摸鱼的网民
有点东西
- 没有更多了 -