《Arduino家居安全系统构建实战》——2.8 我们学到了什么?

2.8 我们学到了什么?

我敢肯定,用这个模型还可以做得更多,毕竟,我们距离完美还有1.7%!但是,我将把这个问题留给读者作为兴趣练习,而将篇幅留给本章关键点的回顾。

首先,我们讨论了贝叶斯定理和独立性的概念。我觉得这一成果特别有趣,原因至少有两个。首先,贝叶斯定理的通用公式相当简单。其次,它很强大:贝叶斯定理提供了描述和量化两部分不完善信息之间关系的通用框架。它本身就是统计学和机器学习的一个关键成果,因为这两个学科都试图从不完整的样本中得出结论,找出数据之间的模式。也就是说,找出不独立的数据并加以利用。

当然,简单贝叶斯分类器本身在贝叶斯定理应用中微不足道:我们在文本信息的工作方式上做了一些简化的假设,以便使数学方法可行,只是为了展示应用贝叶斯定理的结果。文本标记化的过程可能比分类器本身更有趣。机器学习算法通常需要一组特征,原始的文本块并不能很好地适应这些模式。通过将文本分解为标志,识别和计算出现在一个文档中的单词数量,我们就能将文本转换为更方便的结构。

最后,我们花费很多时间改进基本模型,通过提取新特征加以完善。关键的要点是,我们始终使用相当简单的算法,但是仅仅花费时间理解数据、使用所得到的知识稍作重整,就能将模型的预测能力从中等提高到很好的水平。决定使用哪一个算法无疑是机器学习的重要部分之一,但是构建一个好的模型通常不是寻找唯一算法、魔法般地解决问题,而更多的是凭借对问题域的更深入理解,使用这些知识提取更好的特征。

在这个特例中,出现了几个模式。首先,数据并不总是越多越好。有些特征包含许多信息,有些则不然。找出信息量大的特征、消除其余特征可以为模型提供携带信号较多、噪声较少、更容易利用的信息。然后,我们看到了两个相反的现象,最终使用了保持单词大小写的标记化程序。我们意识到,原来使用的特征过于粗糙,因此将它们分解为多个更具体的特征(例如,“FREE”和“free”)。相反,我们注意到有许多电话号码,将其聚合成单个之前不存在的首要特征,以便观察其作用。同样,了解问题域和数据绝对是很重要的:如果好的算法以错误的方式观察特征,也不会走得太远,对特征的小更改往往能将一个普通的模型转化为出色的模型。

时间: 2024-08-01 04:33:07

《Arduino家居安全系统构建实战》——2.8 我们学到了什么?的相关文章

《Arduino家居安全系统构建实战》——第1章 家居安全系统的入门知识

第1章 家居安全系统的入门知识 Arduino家居安全系统构建实战在这一章中,我们将会介绍如下的内容: 什么是家居安全基础设施它是如何工作的部署这样一个系统都需要些什么在当前条件下为安全系统所做的准备有线安全系统和无线安全系统传统系统与现代化家居安全系统为了紧紧跟随硬件的发展趋势,本书介绍了随处可见且价格极为低廉的平台--Arduino.今时今日,我们可以在各种各样的公共场所如中小学校.高等院校.小型企业或者公共机构见到这个小电路板的身影. Arduino平台因其众多的优势而著名,例如低廉的成本

《Arduino家居安全系统构建实战》——1.2 工作原理

1.2 工作原理 之前讨论了家居安全系统基本的组成部分,但是这些要素都是什么,它们是如何工作的呢?通过对它们进行分类,我们可以将一个安全系统分成两个部分. 1.2.1 硬件部分 一个基础设施的硬件要素必须能够胜任软件的所有技术需求.可以将它们进一步细分为3个不同的子类别.这种分类方式不应该被理解为具有排斥性,因为一个要素经常可以被分到多个子类别中,这种分类方式反而有助于你理解系统所执行的功能. 传感器:传感器将作为系统的感觉器官,其作用就如同人类的身体感官.它们的功能就是从环境中搜集信息,并将这

《Arduino家居安全系统构建实战》——1.6 传统系统与现代化的家居安全系统的比较

1.6 传统系统与现代化的家居安全系统的比较 最后,我们将给出一个传统系统与现代化系统之间的比较,值得指出的是,在面对不同需求的时候,它们各自都有着特定的用处,这些需求例如减少模型的复杂性,提高系统的可靠性,增加系统可用性以及向开发者提供丰富的信息. 以前,如果综合考虑到多种因素,例如价格.技术的成熟度以及现有的基础设施(连接)等,以一个较低的成本来实现一个可以实时管理的系统几乎是不可能的. 而在智能手机和平板电脑已经普及的今天,这些设备有足够的能力来将硬件收集的数据即时进行发送和接收,并实现这

《Arduino家居安全系统构建实战》——1.3 部署安全系统的先决条件

1.3 部署安全系统的先决条件 如果你正在考虑部署一个安全系统,那么最有可能的原因就是你有这方面的关键需求.因此,在这里最重要的事情就是要准确地确定这种需求.如果做不到这一点,我们最终会步入歧途并造成损失或者导致半途而废. 如果并没有这种需求,你只是拥有着一颗对现代科技勇于探索的心,那么你可能是出于学习和娱乐的目的来设计这个系统,或者试图将自己的家打造成一个现代化的场所.你可以浏览一下这个行业的先进企业的网站以获得参考. 我们可以看到,大多数企业的系统是类似的,只是在某些部分存在一些差异,而这些

《Arduino家居安全系统构建实战》——导读

前言 机器学习项目开发实战 如果你手里拿着这本书,我就可以认定你是对机器学习感兴趣的.NET开发人员了.你可能对编写C#应用程序很熟悉,开发的很有可能是业务线应用程序.以前你可能遇到过F#,也可能没有.而且,你很有可能对机器学习感到好奇.这一主题每天都见诸报端,因为它和软件工程有着很紧密的联系,但是使用的是不熟悉.看似有些抽象的数学概念.简而言之,机器学习看上去是有趣的主题.值得学习的实用技能,但是从哪里入手难以说清. 本书的意图是作为开发人员的机器学习入门书.我的主要目标是使熟悉代码编写的读者

《Arduino家居安全系统构建实战》——第1章 256级灰度

第1章 256级灰度 机器学习项目开发实战 构建自动识别数字图像的程序 如果你打算建立一个当前技术热点的列表,机器学习当然会名列前茅.然而,虽然这个术语到处出现,但是它的真实含义往往含混不清.它是和"大数据"或者"数据科学"一样的东西吗?它和统计学有何不同之处?表面上,机器学习似乎是一种奇特.令人畏惧的专业,使用令人眼花缭乱的数学知识和算法,和软件工程师的日常活动没有多少共同之处. 在本章以及本书余下的部分中,我的目标是和大家一起完成实际项目,以此阐明机器学习的原理

《Arduino家居安全系统构建实战》——1.1 家居安全的基础设施

1.1 家居安全的基础设施 当然,如果你被问到一个关于安全系统组成部分的问题,你可能会毫不犹豫地对这个问题做出回答,例如,你可能会就监控摄像头.运动传感器和报警器等设备侃侃而谈.但是你确实了解这些不同的组成模块了吗?你能清楚地说出它们之间所有的关联吗?你能详细地讲出它们的工作方式吗?你能准确地说出传统的系统和当前的系统的区别吗?不要着急,这些答案都将为你揭晓. 好了,现在我们这里已经有这些问题的答案了.安全基础设施包括了所有的硬件设备.软件部分以及它们之间关联的设计,将所有这些组件组合在一起构成

《Arduino家居安全系统构建实战》——1.7 小结

1.7 小结 在这一章的学习中,本书详细地介绍了一个安全家居系统的各个部分,但是并没有涉及相关的任何具体设备.通过理论讲解的方式,我们了解了系统的组成部分以及它们各自的功能.在拥有了这些知识之后,我们已经做好了在下一章中深入学习的准备了.我可以向你保证,下一章中内容将会是引人入胜的. 在下一章中,我们将了解Arduino的概念和历史,以及Arduino Uno的各个组成部分.同样我们也将学习到它们的工作方式,以及如何使用shield对Arduino UNO进行扩展.

《Arduino家居安全系统构建实战》——1.4 在当前条件下要为安全系统做的准备

1.4 在当前条件下要为安全系统做的准备 当你选定了安装的地址之后,这里就有许多的因素(甚至要考虑到周边行人)需要你进行考虑,以此来保证系统组件的安全性.完整性以及可靠性. 由于我们的系统能源要依靠于电力的提供,从性能优化和使用成本的角度来看,最好是使用一个独立的电力供应,而不要使用电池.电池的价格较高并且使用寿命又短.另外,在只需要一个连接的配备条件下,你可以将Arduino板和其他的一些模块放入墙体的变电箱中. 如果你的环境中不具备使用电源的条件,或者想要一个后备系统(例如一个UPS[不间断

《Arduino家居安全系统构建实战》——2.6 改进分类器

2.6 改进分类器 现在我们已经有了基准-- 低于84.4%是糟糕的结果,至少要超过87.7%.是时候观察使用可以自由支配的两大手段(标记化程序和分类器选用的标记)能达到什么效果了. 2.6.1 使用每个单词 利用一个单词,我们就能将分类器的正确率从84.8%提升到87.7%.如果使用每个可用的标记代替单个词汇,预测正确率当然应该大幅提高.我们来尝试一下这个思路,首先,必须从训练集中提取每个标记.我们编写一个vocabulary函数,对每个文档应用标记化程序,将标记合并为单一集合,实现上述功能.