ST MEMS创意大赛第6贴 -- 机器学习内核学习(1)(MLC)
[复制链接]
本帖最后由 传媒学子 于 2020-5-24 23:39 编辑
ST MEMS创意大赛第6贴 -- 机器学习内核学习(1)(MLC)
这周开始学习MLC了,感觉稍微有些复杂。 看了 @ justd0 的帖子,受益匪浅,后边参照justd0分享的内容,感觉这个MLC可能要花费2周学习。
我先分享一下这周的学习内容吧,有些内容还是理解的不太深入。
首先,机器学习这个概念真的很大,虽说我也算是AI界的边缘人物,但是对于机器学习还不能说理解的很到位。
我理解的机器学习: 数据采集+数据处理+数据训练+系统执行;但实际上,机器学习要复杂的多,如果再牵涉到深度学习,那就更加复杂了;还好我们这里学习的ST这个MLC,只是机器学习的通用范畴,应该是没有涉及深度学习。
获取数据最终的目的是生成决策树:
这个图介绍的已经很清楚了,我对于这5个步骤理解的还不是很够,尤其3生成决策树这个步骤,需要深入探究。
上边这个是机器学习的步骤,我觉得写得比较好理解。
总之,重点和关键就是如何生成决策树,我这边尝试了一下,识别简单的 UP DOWN , 就是板子是面朝上,还是朝下,数据什么的都收集完了。
But,发现weka貌似没有,于是乎去网上下载,然而网络不是太好,只能后续再玩weka了。
不过,老夫正好用过python, 这就用python来生成决策树-- *.arff。
首先来看python:
git clone https://github.com/STMicroelectronics/STMems_Machine_Learning_Core.git
找到\STMems_Machine_Learning_Core\tools\python
看看python 代码,需要按一些库,这个用pip3来安装就行,pip3 install xxxx
然后,将code中
arff_filename改为你要生成的name. 其实,将这个python脚本拷贝和.np文件拷贝到你数据那个文件夹。
生成如下决策树。
一路next生成下边这个.ucf文件:
然后load进入这个.ucf文件, ok了。 我的这个决策树是:当板子正面朝上,无论你左右怎么移动,转动,决策树都会输出0,而当你反面朝上,无论你怎么转动,这个决策树输出4;
实验结果,当板子朝上:
但板子向下:
因为我的窗口长度设定是默认值50多个,且ODR较慢,因此需要1-2s才转换过来。通俗点讲,就是采样几个点,进行一次特征识别。
后边我将这个窗口长度设为5, 识别转换速度就比较快了。
整体来讲,这个还是很牛的。ST技术确实先进。
下周搞点,更复杂的场景,尝试一下,我这里还没想到怎么将FSM和MLC和结合起来用,后边再看看。
|