前言
没有机器学习基础但是想利用嵌入式AI?Edge Impulse绝对是不二之选! 算法自动提供,代码一键生成,移植简单方便,简直是小白的福音!如果你打算涉及嵌入式 机器学习,那就快来看看吧!
Edge Impulse的回归模型可以从数据中学习模式,并将其应用于新数据。 非常适合预测数字连续值。本文将以拟合关系为y=2x+3的数据为例,通过训练回归模型来对数据进行预测。
创建数据集
仍然以CSV文件为例,创建CSV数据集。以y=2x+3创建的数据集格式如下:
5.csv:
timestamp,x
1,1
2,1
7.csv:
timestamp,x
1,2
2,2
9.csv:
timestamp,x
1,3
2,3
。。。。。。
注意:
1、CSV文件的要有两列,第一列为时间戳,对本模型的结果没有什么影响,但必须要有。时间戳顺序取值即可。
2、每一个CSV文件要有两行,并且x值要相同。
3、CSV文件的名字以其结果命名。比如第一个CSV文件的x为1,对应的y为5,则文件命名为5.CSV。
4、创建足够多的样本以提高预测的精度,如果要提高结果的分辨率,x的间隔可以设置为0.5或者更小,这里的x间隔设置为1。
模型训练
进入Edge Impulse,创建一个工程,在左侧点击Data acquisition上传数据集。
在上传数据集是,可以将以一部分数据上传为训练集(Training),一部分数据上传为测试集(Testing)。标签(Label)设置为与文件同名。(标签即为设置的预期结果)
上传完毕后,在左侧转到Impulse Design,在下方找到Create Impulse。设置如下:
设置完毕后点击Save Impulse保存。
在左侧Create Impulse下方找到Raw Data并点击, 点击页面中的蓝色按钮Save parameter,在上方蓝色栏目中找到Generate features并点击,然后点击绿色按钮Generate features。
在左侧Raw Data下方找到Regression并点击,按照如下图方式设置,设置完毕后点击(Start training)开始训练。
模型验证和测试
在左侧找到Mode Testing,在这里你可以对上传的测试集进行测试,来验证模型的准确率。
我这里对x=2.25的情况进行了预测,根据y=2x+3,预期的结果应该是7.5,模型预测的结果为7.41,误差为0.09。
若要提高测量精度和分辨率,可以提高学习轮数或者减小数据集的x间隔。