开发者社区> 异步社区> 正文

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

简介:
+关注继续查看

本节书摘来异步社区《机器学习项目开发实战》一书中的第1章,第1.1节,作者:【美】Mathias Brandewinder(马蒂亚斯·布兰德温德尔),更多章节内容可以访问云栖社区“异步社区”公众号查看

1.8 更进一步

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

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

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

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

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
《物联网硬件开发基础及HaaS EDU轻应用初体验》| 学习笔记
快速学习《物联网硬件开发基础及HaaS EDU轻应用初体验》
125 0
【HaaS成功案例】基于HaaS开发框架的智能农业物联网大棚系统
【HaaS成功案例】基于HaaS开发框架的智能农业物联网大棚系统
347 0
物联网入门训练营“W800开发板的奇思妙想”:基于WiFi模块的智能门锁系统
如果你有好的创意或者对文中的创意有更多延展想法,也可以在本文后评论,我们还有少数试用开发板的机会,期待你的评论。
2001 0
物联网入门训练营“W800开发板的奇思妙想”:智能药盒
如果你有好的创意或者对文中的创意有更多延展想法,也可以在本文后评论,我们还有少数试用开发板的机会,期待你的评论。
778 0
《Arduino家居安全系统构建实战》——导读
Arduino Uno是一种建立在单一电路板上的开源微控制器,它能够接收来自环境的感知输入并对交互的物理对象进行控制。Arduino Uno同时还是一种开发环境,你可以使用Arduino编程语言来为这个电路板编写程序。
1922 0
+关注
异步社区
异步社区(www.epubit.com)是人民邮电出版社旗下IT专业图书旗舰社区,也是国内领先的IT专业图书社区,致力于优质学习内容的出版和分享,实现了纸书电子书的同步上架,于2015年8月上线运营。公众号【异步图书】,每日赠送异步新书。
文章
问答
视频
文章排行榜
最热
最新
相关电子书
更多
2020工业大脑解决方案手册
立即下载
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载