《Arduino家居安全系统构建实战》——1.8 更进一步

1.8 更进一步

人们第一次看到算法时,我常常看到的反应之一是“但是……这有点蠢。”他们真正的意思是,“但是……哪里有学习?”机器学习的正式定义是:“编写一个程序,在得到更多数据时,更好地执行某项任务。”我们的模型——1-最近邻算法完全符合这一定义:可以预期,越大的样本“工作得越好”(反过来,可以预期减少样本会使性能降级)。另一方面,它不太符合我们对“学习”的直观理解。我们的模型实际上记住了看到的所有情况,而人们倾向于将学习视为对高层抽象的辨别,这提供了经验的更紧凑表现形式。当你看到一个数字的图像时,不会重温一生中见过的所有图像以决定是否匹配——你知道用于过滤和识别的高层概念(“0就像一个圆圈”)。

可以在我们的问题上使用更高级的算法(如支持向量机或者神经网络,第8章中将这么做),它们的行为和“学习”的概念更符合:在训练阶段处理数据,并提取简化的表现形式。这样做的明显缺点是训练阶段实际上将变得更加复杂,好处是所得到的模型更小、更快。

那么,应该使用支持向量机、神经网络还是其他方法?和往常一样,答案是“看情况”。首先,这取决于你的终极目标。你的目标可能是更加精确;如果代码部署于生产环境,目标也可能是更快、使用更少内存或者其他。

正如前面所讨论的那样,实际上没有办法知道某种模型是否好于另一种——你必须尝试,这可能代价很高。所以,在追求更好的模型之前,要仔细考虑:当前模型是否足够好?工作是否集中于正确的问题?正如法国谚语所说“更好是好的敌人”。我们的简单算法已经达到大约95%的分类正确率,相当不错了。如果这已经足够,就不要浪费时间,转向感兴趣的下一个问题。机器学习问题有能力自己生存,除非你有一个快速、100%准确的完美模型,否则永远不能说“完成”了,回到工作中继续改善、挤出每一点精确度是很有诱惑的。因此,必须提前想好什么是“足够好”,否则可能需要很长时间来追求完美!

时间: 2024-09-28 07:14:16

《Arduino家居安全系统构建实战》——1.8 更进一步的相关文章

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

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

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

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

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

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

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

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

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

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

《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[不间断