04-Arduino板上的机器学习(AIfES for Arduino)

(AIfES for Arduino)–高效微控制器人工智能开源框架
原文链接:链接: AIfES for Arduino由Jean-Luc Aufranc撰写。
请添加图片描述

4-1 IoT简介(物联网简介)

在这里插入图片描述

4-2 点亮未来之路: AI

让电脑有能力自我学习,这就是机器学习。

4-3 传感器新浪潮:AI + IoT

①云端计算

在这里插入图片描述

②边缘计算

在这里插入图片描述

4-4 Arduino软件开发ESP32应用

(一) 准备一块ESP32开发板

ESP32是一个可以用于控制的AI硬件开发板,可借两侧的输出入(I/O)管脚控制外部电子元件。还具有WIFI连网接口传送数据的功能。
在这里插入图片描述

(二)安装Arduino开发环境

下载Arduino IDE开发环境(链接: 下载Arduino IDE
下载安装驱动程序链接:( 下载安装驱动程序链接

新增ESP32开发板到Arduino IDE
在Arduino IDE中执行‘文件’->‘首选项’
在这里插入图片描述
打开 Arduino 软件,点击 “文件”→“首选项”,在 “附加开发板管理器网址” 中输入 https://dl.espressif.com/dl/package_esp32_index.json(这是 ESP32 开发板的管理网址,其实不填也行,不影响下面的步骤)
在Arduino IDE中执行‘工具’->‘开发板管理器’
在这里插入图片描述
搜索输入框esp32,按此安装
在这里插入图片描述
因为要在国外的网站下载,所以会失败。可以转为手动下载方式。
手动下载方式:
进入镜像仓库网址链接: 下载 ESP32 的支撑包 https://codechina.youkuaiyun.com/mirrors/espressif/arduino-esp32 下载 ESP32 的支撑包。该仓库的下载速度相对较快,能有效解决从国外网站下载速度慢或无法访问的问题。这个过程会很花很长时间,加上安装时间,约1个多小时。
在这里插入图片描述

在这里插入图片描述
连接ESP32,选择所使用的开发板和串口号
在这里插入图片描述

4-5 什么是AI人工智能

图像辨识、语音识别、数据处理的问题,转成程序语言,形成解决问题的规则。 让电脑自己学习规则,这就是机器学习( Machine Learning , ML)

4-5-1 机器学习

监督式学习非监督式学习
监督式学习所使用的训练数据集合会事先给予标记 ,即准备一些问题和对应的答案给电脑后,通过合适的推理让它\ 自行找出其中的规则,并有能力针对类似的问题给出正确的回答,
常见的回归分析(Regression Analysis)与 统计分类(Classification)

4-5-2 神经网络

在机器学习中最主流的方法是类神经网络(Artificial Neural Network ,ANN,简称神经网络)
在这里插入图片描述
人工神经元
在这里插入图片描述
输入-就是问题
输出-就是答案
权重偏值 就是要自我学习的参数 可以表示成:
输出 = 输入 1 × 权重 1 + 输入 2 × 权重 2 + 输入 3 × 权重 3 + 偏值 输出 = 输入1×权重1+输入2×权重2+输入3×权重3+偏值 输出=输入1×权重1+输入2×权重2+输入3×权重3+偏值
如果只有一个输入的神经元:
在这里插入图片描述
输出 = 输入 × 权重 + 偏值 输出=输入×权重+偏值 输出=输入×权重+偏值
回归问题
指的是找到两组数据之间的对应关系
资料如下:
在这里插入图片描述
在这里插入图片描述
有1条线能大致连接: y = 0.8337 x − 81.331 y=0.8337x-81.331 y=0.8337x81.331

其实就是一个函数 体重 = 身高 × 0.8337 − 81.331 体重=身高×0.8337-81.331 体重=身高×0.833781.331

在这里插入图片描述
用直线表示关系,不是很贴合。`(>﹏<)′
用分段的折线来解决非线性问题。( ̄︶ ̄)↗ 
采用 激活函数(activation function) 便能 在神经元输出之前进行非线性计算,再将值输出:
在这里插入图片描述
最常用的激活函数是 ReLU函数,小于转折点的输出数值都等于0
在这里插入图片描述
如果更贴合数据,就要导入更多非线性度,做法
将多个神经元连接在一起:
上下并排的神经元合称 神经层
在这里插入图片描述
由于每个神经元共用一个激活函数,多个
激活函数 的神经元,等同提供更多非线性度,(ReLU 就是一次转折),所以生成函数更贴近数据:

神经网络
为了预测更加准确,可以加入更多输入数据,这些数据又称为-特征(Feature)

在这里插入图片描述
完整的神经网络又可以称为 - 模型 (model)

在这里插入图片描述
神经元的学习过程

神经元怎么学习?
一开始神经元什么都不会,因此 权重偏值
都是乱猜的,
所以输出的答案也是不对的,不过它会比对你给
的数据来调整,直到它的输出与你给的资料一致:
在这里插入图片描述
损失函数 -计算预测值和标签误差的函数, 计算出来的值称为-损失值(loss) ,越大代表误差越多,
神经元有这个数值后就知道怎么调整它的参数,
不同问题会搭配不同损失函数,例如,回归问题就会使用

  • 均方误差(Mean Squared Error,MSE)
    每笔标签减预测值(即误差),取平方,再取平均值。
    标签值: y 1 、 y 2 、 y 3 、 y 4 、 y 5 、 . . . 、 y n 、 标签值:y_1、y_2、y_3、y_4、y_5、...、y_n、 标签值:y1y2y3y4y5...yn
    预测值: y 1 ^ 、 y 2 ^ 、 y 3 ^ 、 y 4 ^ 、 y 5 ^ 、 . . . 、 y n ^ 、 预测值:\hat{y_1}、\hat{y_2}、\hat{y_3}、\hat{y_4}、\hat{y_5}、...、\hat{y_n}、 预测值:y1^y2^y3^y4^y5^...
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值