既然使用神经网络也可以解决分类问题,那SVM、决策树这些算法还有什么意义呢?...

640?wx_fmt=jpeg

来源:Jerry的算法和NLP

Jerry的算法和NLP

先说下结论:没有一个模型是万能的,需要根据数据选择适合的模型。
在机器学习中,数据大概可以分成四大类:图像 (Image),序列(Sequence),图(Graph) 和表格(Tabular) 数据。其中,前3类数据有比较明显的模式,比如图像和图的空间局部性,序列的上下文关系和时序依赖等。而表格数据常见于各种工业界的任务,如广告点击率预测,推荐系统等。在表格数据中,每个特征表示一个属性,如性别,价格等等,特征之间一般没有明显且通用的模式。
神经网络适合的是前三类数据,也就是有明显模式的数据。因为我们可以根据数据的模式,设计对应的网络结构,从而高效地自动抽取“高级”的特征表达。如常见的 CNN (卷积神经网络) 就是为图像而设计的,RNN (循环神经网络) 为序列数据而设计的。而表格数据,因没有明显的模式,非要用神经网络的话,就只能用低效的全连接网络,一般效果都不太好。在实践中,对于表格数据,除了专门对特定任务设计的网络结构如DeepFM等,更多时候还是用传统机器学习模型。尤其是 GBDT (梯度提升树),因其自动的特征选择能力及动态的模型复杂度,算得上是一个万金油模型,在各种类型的表格数据上都表现很好。但对于表格数据而言,其实特征工程才是更关键的。在给定数据的情况下,模型决定了下限,特征决定了上限。特征工程类似于神经网络的结构设计,目的是把先验知识融入数据,并且让模型更好地理解数据,让模型可以学得更好。
另外,神经网络实质上不算是一个模型,而是一类可以自由“搭积木”的模型。结构不同的神经网络可以认为是不同的模型了。
总结下,no free lunch,没有一个万能的模型,可以直接用于各种数据。有多少人工就有多少智能:用神经网络的话,你需要结构设计;而用传统模型的话,你需要特征工程。
640?wx_fmt=jpeg
首先说大家熟悉的监督学习任务,比如分类和回归。
神经网络的优势要在数据量很大,计算力很强的时候才能体现,数据量小的话,很多任务上的表现都不是很好。
SVM属于非参数方法,拥有很强的理论基础和统计保障。损失函数拥有全局最优解,而且当数据量不大的时候,收敛速度很快,超参数即便需要调整,但也有具体的含义,比如高斯kernel的大小可以理解为数据点之间的中位数距离(Median heuristic)。在神经网络普及之前,引领了机器学习的主流,那时候理论和实验都同样重要。
决策树也是非参数方法之一。我的经验告诉我,很多时候随机森林要比SVM要好,而且森林的训练时间可以很短,但感觉超参数调节上不是很intuitive,几棵树?收敛条件?都需要一个个试。
640?wx_fmt=jpeg
神秘网络拥有很多局部最优,而且理论上过拟合很容易,但各种tricks神奇的避免了这些理论弊端,但很多时候人们并不清楚它的工作和训练原理,而且泛化能力为什么高(各种竞赛结果)/低(对抗样本),也没有解释。在给定计算量下,神经网络基本上没办法和传统方法比。好在GPU解决了这个弊端。
总之,当数据量小的时候,传统方法依靠理论保障(kernel methods),或者用先验(贝叶斯方法)来控制解的空间,通常会有很好的表现。
再说一些光看神经网络还用不到的任务。答主可能也只是问在监督范畴内,传统方法有什么价值。但我想在更广泛的背景下介绍一下传统方法的意义何在。
一般认为监督式学习是已经解决了的问题,所以最前沿的理论研究都集中在非监督领域。炼丹在此略过。
非监督学习领域,虽然神经网络也被用作模型一部分,但主要还是以方程近似的角色体现。GAN,Normalizing flow, VAE,energy-based models... 这些方法还依靠统计理论。比如,kernel methods加上神经网络可以用于密度估计,但主要的原理还是建立在传统体系下(max likelihood,score matching等),神经网络只不过是更复杂的kernel超参数而已。
最后提一项神经网络基本不可能用到的任务
640?wx_fmt=jpeg
假设检验是非常重要的科研工具,用在很多关键领域上。医学上判断药物是否有作用,社会学上判断一项政策是否改变了社会参数,金融上判断两只产品的之间是否有关联,机器学习上判断两个GAN生成的图片那个更真实…都需要用到假设检验。
大家熟悉的t-test, rank test, K-S test等都只适用于一维数据,而且数据的收集可能不理想(比如长期监测的病人提前退出测试),数据本身并不满足参数性假设(如残差为高斯分布)…
如果要开发一项检验方法,需要控制Type-1 error,也就是当H0为真的时候,错误拒绝H0的概率。这个时候神经网络这个黑箱就成了很大的障碍,因为没有任何理论基础。而kernel方法依靠深厚的理论基础,可以在几乎没有任何数据分布假设下,从数学上给出Type-1 error的保障,也就可以被用在很多关键领域的检测。同时,数据收集不理想的时候,也可以通过一大堆数学推倒来实现这些test。如果有了黑箱,那基本就相当于把理论给扔了。

640?wx_fmt=jpeg

未来智能实验室是人工智能学家与科学院相关机构联合成立的人工智能,互联网和脑科学交叉研究机构。

未来智能实验室的主要工作包括:建立AI智能系统智商评测体系,开展世界人工智能智商评测;开展互联网(城市)云脑研究计划,构建互联网(城市)云脑技术和企业图谱,为提升企业,行业与城市的智能水平服务。

  如果您对实验室的研究感兴趣,欢迎加入未来智能实验室线上平台。扫描以下二维码或点击本文左下角“阅读原文”

640?wx_fmt=jpeg

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/489741.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python解包的概念_Python学习第176课——tar解包和压缩

上节我们学习了tar命令打包和查看tar文件中的内容,这节我们继续熟悉tar解包以及其他操作。上节我们把桌面上的linux文件夹里面的东西打了一个包,打包后的文件也在桌面上,叫tar_linux.tar。●tar解包现在我们把tar_linux.tar这个打包文件进行解…

chardet java_java实现文件编码监测

java实现文件编码监测最近在做一个文档的翻译项目,可文档的编码不知道,听头疼的。尝试了很多方法最后发现JCharDet这个工具可以轻松解决这个问题。于是作此笔记希望日后提醒自己以及帮助又需要的人。package com.uujava.mbfy.test;import java.io.Buffer…

使用python处理子域名爆破工具subdomainsbrute结果txt

近期学习了一段时间python,结合自己的安全从业经验,越来越感觉到安全测试是一个体力活。如果没有良好的coding能力去自动化的话,无疑会把安全测试效率变得很低。 作为安全测试而言,第一步往往要通过爆破目标站的一级域名开始。作为…

美陆军将在2020年军演中测试人工智能新应用

▲美陆军利用人工智能技术探测隐藏的目标,例如这辆伪装的M109A6自行榴弹炮来源: 美国《防务快讯》/图片来自互联网 编者按美陆军人工智能工作组负责人表示,陆军已开发出可检测“侦察照片”中隐藏目标的人工智能技术,并将在明年举行…

python 同时发多个请求_PythonWebServer如何同时处理多个请求

源于知乎上一个问题:https://www.zhihu.com/question/56472691/answer/293292349对于初学Web开发,理解一个web server如何能同事处理多个请求很重要。当然更重要的是,理解你通过浏览器发送的请求web server是怎么处理的,然后怎么返…

java关于hashmap编程题_LeetCode算法题-Design HashMap(Java实现)

这是悦乐书的第299次更新,第318篇原创01 看题和准备今天介绍的是LeetCode算法题中Easy级别的第167题(顺位题号是706)。在不使用任何内置哈希表库的情况下设计HashMap。具体而言,你的设计应包括以下功能:put(key,value)&#xff1a…

Nature:1000种植物的测序揭示10亿年来的进化

来源:生物通千种植物转录组计划(1,000 Plants Project,1KP)是由加拿大科学家在2008年11月发起的,召集了将近200名植物学家对1,100多种植物的基因进行测序和分析。如今,这个项目的研究成果发表在《Nature》杂…

CodeForces 688B - Lovely Palindromes(思路)

题意&#xff1a;输出第n&#xff08;1 < n < 10^100000&#xff09;大的偶数长度的回文数。&#xff08;最小的为11&#xff09; 因为长度是偶数&#xff0c;所以前后两半之间是相互对称的&#xff0c;又因为一个数字的大小主要取决于较高位数的大小&#xff0c;所以数字…

python 查询sqlserver 视图_SQL Server 2017 数据库教与学(教学大纲,含Python+SQL Server案例)...

原标题&#xff1a;SQL Server 2017 数据库教与学(教学大纲&#xff0c;含PythonSQL Server案例)本书提供PythonSQL Server案例SQL Server教学大纲一、课程的性质和教学目的课程性质&#xff1a;数据库技术是各类信息系统、管理系统的基础。SQL Server数据库是微软公司的一款数…

java 通过反射得到命名空间_利用反射得到一个命名空间下的所有类,并调用?...

当年话下Assembly.LoadFrom("assemblyName").GetTypes();Assembly.Load("assemblyName").GetTypes();遍历&#xff0c; 再通过Type.GetInterface(""),如果结果不为null&#xff0c;那就说明找到了再Activator.CreateInstance(“”)即可还是写段代…

量子霸权之争

来源&#xff1a; 原理这一个月以来&#xff0c;量子计算机领域吸引了许多人的关注&#xff0c;因为关于谷歌已经实现了人们期待已久的里程碑——“量子霸权”&#xff08;也被称为”量子优越性“&#xff09;的消息不胫而走。“量子霸权”是加州理工学院的理论物理学家John Pr…

Atitit 通过调用gui接口杀掉360杀毒 360卫士  qq保镖等难以结束的进程(javac# php )...

Atitit 通过调用gui接口杀掉360杀毒 360卫士 qq保镖等难以结束的进程(javac# php ) 1.1. 这些流氓软件使用操作系统os提供的普通api根本就杀不掉啊1 1.2. 使用他们自己的api 或者cli接口来关闭1 1.3. 通过gui接口杀进程&#xff1a;&#xff1a;1 1.4. 首先&#xff0c;调用g…

主成分分析法案例_因子分析案例及操作解析

分析一个省的科技创新能力受哪些潜在因素的影响&#xff1f;&#xff08;本数据来源于网络收集&#xff0c;x1~x15代表各省市相关经济指标&#xff09;第一步&#xff1a;数据输入&#xff08;如下图&#xff09;第二步&#xff1a;操作步骤&#xff1a;分析——降维——因子分…

date js 半年_js Date 日期使用上的一个坑

作者&#xff1a;坚强一点链接&#xff1a;https://zhuanlan.zhihu.com/p/22253858来源&#xff1a;知乎著作权归作者所有。商业转载请联系作者获得授权&#xff0c;非商业转载请注明出处。在写js 日历插件的时候遇到一个奇怪的情况。日历当前的日期是 2016-08-31 号 用 js Da…

IBM人工智能将“掌舵”全球首个跨大西洋自主驾驶船舶

来源&#xff1a;IBM中国IBM提供IBM Systems、AI、云以及边缘计算技术&#xff0c;“掌舵”全球首个跨大西洋的自主航行任务目标是拓展人类对于海洋的认识&#xff0c;以及消除海洋研究的障碍此次航行将帮助科学家们了解海洋塑料堆积这一重大社会问题日前&#xff0c;IBM THINK…

用css、html编写一个两列布局的网页,名称为css.html ,要求左侧宽度为200px ,右侧自动扩展...

<body><div style" float:left; width:200px; height:300px; border: 1px #0033FF solid;">111</div><div style" float:left; width:auto; height:300px; border: 1px #0033FF solid;">222</div></body>或者&#x…

python 导入数据对不齐_[Python] 大文件数据读取分析

首先我们可以确定的是不能用read()与readlines()函数&#xff1b;因为如果将这两个函数均将数据全部读入内存&#xff0c;会造成内存不足的情况。针对数据按行划分的文件以计算行数为例&#xff0c;首先针对几种不同的方法来作比较&#xff1a;1、使用for遍历的方法&#xff0c…

【周末阅读】人工智能时代基础数据服务大有可为

来源&#xff1a;青岛智能产业技术研究院智能产业 前沿高地【导读】为机器学习算法训练、优化提供数据采集、标注等服务的人工智能基础数据服务成为这一人工智能热潮中必不可少的一环。如果说计算机工程师是AI的老师&#xff0c;那基础数据服务就是老师手中的教材。人工智能基础…

c#FileStream文件读写(转)

FileStream对象表示在磁盘或网络路径上指向文件的流。这个类提供了在文件中读写字节的方法&#xff0c;但经常使用StreamReader或StreamWriter执行这些功能。这是因为FileStream类操作的是字节和字节数组&#xff0c;而Stream类操作的是字符数据。字符数据易于使用&#xff0c;…

python能处理图片吗_python 能处理图像?

答案是&#xff1a;完全ojbkpython具有强大的图像处理功能&#xff0c;这归功于他 的PIL模块与我们平时所见的使用PS等软件P图有所不同&#xff0c;python实现的图像处理是以代码的形式完成工作&#xff0c;也是千峰这篇文章要说的。需要相关学习资料请关注我操作环境&#xff…