




资源介绍
视频数量:30个
总时长:1小时42分
课程介绍:
基于朴素贝叶斯分类器的智能照明系统实战
你有没有遇到过这种情况:下班回家,一进门黑漆漆的,还得摸黑找开关开灯。或者半夜起来喝水,强光刺得眼睛难受。如果有一盏灯能“读懂”你的需求,自动根据环境光线、时间甚至是你的习惯来调节亮度,那该多好。
这门课要教你的,就是这样一个智能照明系统。不是那种买来现成的智能灯泡,而是从算法原理开始,一路动手做到能实际运行的硬件原型。整个项目用的是朴素贝叶斯分类器,配合Arduino ESP32开发板,让你的灯学会“思考”。
课程把内容分成了三个部分,层层递进,从理论到实践。
第一部分是理论部分,专门讲朴素贝叶斯分类器。听起来好像很学术,但其实老师会带着你一步一步用手算的方式理解这个算法。你会先接触到条件概率这个基础概念,然后老师会用具体例子演示,当只有一个输入特征的时候,朴素贝叶斯是怎么工作的。接着引入拉普拉斯平滑技术,解决在实际应用中可能遇到的零概率问题。更重要的是,老师会教你当问题变得复杂、有多个输入特征的时候,朴素贝叶斯分类器是怎么处理的。这些内容看起来是数学推导,但老师讲得很细致,每一步都有具体的数值例子跟着算,保证你能真正理解算法背后的逻辑,而不只是记住几个公式。
第二部分是建模阶段,也是这课程的精华所在。你会看到如何把前面学的理论应用到智能照明这个具体场景。老师会设计一个训练数据集,包含环境光线、时间等特征,然后教你怎么用朴素贝叶斯分类器去判断当前应该开灯还是关灯,以及亮度应该调到什么程度。这部分老师分别用三种方式来实现。第一种是纯手工方式,带着你一步步计算,不借助任何工具,目的是加深你对算法每个细节的理解。第二种是用Python来实现,会用到Jupyter Notebook作为编程环境,你能看到完整的数据预处理代码、频率表构建、概率计算等各个环节。第三种是用C语言来实现,这一步很有意义,因为最终的硬件部署环境是Arduino微控制器,它没法运行Python,所以用C语言实现的版本可以直接烧录到开发板上运行。这种从理论到高级语言再到嵌入式语言的完整链路,是这门课跟其他机器学习课程最大的不同。
第三部分是原型制作阶段,终于要动手做硬件了。你需要准备一些基础模块,包括一块ESP32开发板、一个LED灯、一个BH1750光照传感器、一个DS1307实时时钟模块、一个SSD1306 OLED显示屏。老师会先分别讲解每个模块怎么接线、怎么编程控制,比如怎么读取当前的光照强度、怎么获取当前时间、怎么在OLED屏幕上显示信息。然后把这些模块组合起来,实现一个基础版的智能灯泡,它能根据环境光线和时间自动判断是否需要开灯以及亮度等级。这一步用的是串口通信方式,你可以在电脑的串口监视器里看到系统的决策过程。
基础版做好之后,课程还有进阶内容。系统会接入Wi-Fi,然后通过Telegram Bot来实现远程控制。这意味着你可以在手机上给机器人发消息,随时查看当前状态或者手动控制灯的开关。老师会一步步教你如何在Telegram上创建自己的机器人、怎么让ESP32连接Wi-Fi并与Telegram服务器通信、怎么解析用户发来的指令。这些内容合在一起,就构成了一个完整的AIoT系统,既有传感器数据采集和智能决策,又有网络通信和远程控制。
整个课程提供了完整的源代码和数据集,包括Arduino sketch文件、Python Jupyter Notebook文件和C语言源文件,还有课程中用到的训练数据集。这些资源都可以直接下载使用,省去了你照着视频敲代码的麻烦。
这门课特别适合那些已经玩过Arduino或者类似单片机、想往AI方向拓展的人。你不需要有多深的机器学习基础,课程会在理论部分把需要的概念讲清楚。但你需要有一定的编程基础,至少要能看懂C语言或者Python代码。另外动手能力也要有一点,因为涉及到硬件接线,如果从来没有接触过电子模块可能需要多花点时间适应。如果你是计算机、电子、自动化相关专业的学生,想做一个有实际硬件载体的课程设计或者毕业设计,这个项目也是个不错的参考。
学完这门课之后,你对朴素贝叶斯分类器的理解会从概念层面深入到代码实现层面,能够用手工、Python、C三种方式实现这个算法。更重要的是,你掌握了把机器学习模型部署到嵌入式设备上的完整流程,知道怎么在资源受限的微控制器上运行AI推理。这套方法论是可以迁移的,学会之后你完全可以把这个套路用到其他传感器或者其他类型的AI模型上,做出自己的创意项目。