设为首页收藏本站

JMP数据分析论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 159|回复: 2

机器学习之入门探索(一)

  [复制链接]
发表于 2019-5-8 09:20:05 | 显示全部楼层 |阅读模式
关于机器学习,今天看来已经是一个人尽皆知的话题了。但在几年前Elizabeth刚刚加入JMP时,对这些领域还是充满着探索未知的好奇与兴趣。今天我们就跟着Elizabeth一起看看她的机器学习入门探索之旅。

本文作者 Elizabeth Classen,JMP资深统计开发工程师,原文发表在JMP全球用户社区JMP Community,对英文版感兴趣的朋友也可以直接查看原文:https://community.jmp.com/t5/JMP ... MP-do-it/ba-p/83064

在2014年加入JMP时,Elizabeth刚刚在一所在农业实验和混合建模方面有着悠久而卓越历史的学校取得了统计学博士学位。她以前习惯于做小型实验设计,通过明智的规划、混合模型的技术分析并优化输出,最大化地获得信息。最简单的例子就是裂区设计。无论与她合作的科学家来自动物科学、昆虫学、食品科学还是教育领域,都是如此。

加入JMP后不久,大数据的热度达到顶峰。随之而来的是几年后机器学习逐渐兴起。机器学习的兴起落后于大数据,这并不奇怪。那么,大家在收集到数据后应该做些什么呢?当然是利用机器学习的工具进行分析。

机器学习之初体验

Elizabeth在校接受的正规教育并没有特别地涉及到机器学习的领域,但在她开始担任统计开发工程师后,这些都是需要她快速掌握的核心内容。所以,当她迈出新主题的第一步时,她便开始学习维基百科官网上关于机器学习的资料。“机器学习是一个跨学科的领域,它使用统计技术让计算机系统能够从数据中学习(例如,逐步提高特定任务的性能),而无需明确的编程。”

这听起来是不是匪夷所思?计算机系统如何能够在没有明确编程的情况下去“学习”任何东西呢? “我们毕竟还没有实现天网啊。” Elizabeth想。于是,她继续深入挖掘下去。不列颠百科全书对机器学习的定义为:“人工智能(计算机科学专业)中的机器学习是一门关注实现计算机软件自主学习的学科。”

Elizabeth深入了解机器学习之后,她对实现软件的自主学习更加感兴趣。“没有明确的编程”意味着一旦数据传递给算法,算法没有来自人类的任何进一步指令就能完成剩下的工作。基于上面的定义和她所使用这些词语的认知,Elizabeth认识到机器学习就是当前人工智能的流行语,意思是根据数据做出决策,预测或分类的计算机算法。

监督与无监督学习

那么,JMP能实现机器学习吗?答案是肯定的!从技术上来讲,JMP从1989年第一个版本的问世就拥有了机器学习的功能。由此可见,JMP一直都跑在时代的前端。

接下来,让我们进一步来看看大家在说机器学习时所考虑的那些算法。

通常,机器学习算法被分为不同的类型 - 监督和非监督学习。
  • 对于监督学习,算法同时使用预测变量(X列)和响应变量(Y列)。训练数据通过告知算法给定值的预测变量所对应的响应值应该是什么来实现“监督”。
  • 对于无监督学习,算法仅使用预测变量,并且任何模式都仅由它们确定。没有使用任何“真相”(响应),实际上我们很多情况都不知道“真相”。


JMP中的机器学习算法

监督学习
无监督学习
决策树*
聚类
神经网络 *
自组织映射
Bootstrap森林法*
关联分析
回归
奇异值分解
K最近邻*

朴素贝叶斯*

带星号(*)的功能仅限JMP Pro 。

看到这里,很多人可能对列表中的“回归“感到惊讶,认为这不是常规意义上的机器学习。但其实它是最直接的监督学习的形式。JMP 1版本中就具备了“以X拟合Y”的回归功能,JMP 3 中则增加了聚类,之后,更多的机器学习的功能不断出现在JMP一代又一代的新版本中。

熟悉其中一种或几种算法的朋友可能会注意到它们之间的相似性。许多模型能够产生惊人的预测准确性,但可能很难解释模型的系数或截止点的含义。例如,通过跟踪决策树的节点能得出预测结果,但这些节点选取在哪里的背后没有固有的含义。我们不知道神经网络模型中的参数估计在“现实世界”中意味着什么,但神经网络却是最好的预测性机器学习模型之一。

相比之下,回归模型为用户提供了具有固有含义的参数估计。如果系数为正,我们知道将此预测变量的值增加一个单位将使响应增加一个等于系数值的量。这与Galit Shmueli博士所说的“解释还是预测”有关。在这种权衡中,最好的折中方案之一是拟合模型平台的广义回归功能。正如JMP的统计开发工程师Clay Barker所说的那样,使用Lasso或Elastic Net可以提高预测性能,而且此模型仍然可以被很好的解释。

但缺乏可解释性是否有关系呢也许有,也许没有。
  • 如果用户专注于对未来事件实现最准确的预测,那么可解释的模型就不是必须的。
  • 反之,如果用户想要更具体的方法来“提高他们的分数”,则可以选择可解释的模型。

总而言之,任何模型的关键在于你可以将模型的输出付诸于行动。

仍然需要人类介入

即使计算机算法能够完成所有了不起的事情,仍然需要人类介入分析来处理更高级的问题。比如:

应该在分析中包含或排除哪些数据?
有些算法具有选择重要变量的能力,但如果建模一开始没有给计算机一个变量,即使该变量具有高度的可预测性,计算机也不会自动选中它。

收益递减点在哪里?
如果模型太过复杂而无法在需要的时间内完成运行,那它并没有什么用途。也许一个不太复杂的模型可以提供几乎同样好的结果并且可以快速运行。
一个众所周知的例子是Netflix奖的获胜者。获奖模型的表现几乎比任何人预期的都要好,却无法在实时环境中运行。因为Netflix需要建议用户下一步应该观看什么,但模型所需的数据量和处理速度使得它无法及时做到。

模型中存在固有的偏差吗?
显然计算机算法不会有着人类所具有的偏差,但算法可能会产生与偏差的特征高度相关的模型。例如在抵押贷款中,有一些特征在做出贷款决定时是非法的。但是,有几个合法的因素与非法因素高度相关。例如,即使种族没有直接成为数据的一部分,算法也可能生成几乎完全拒绝特定种族的模型,此模型很可能会产生法律后果。

什么时候应该更新模型?
建模的目的是生成一些可以让我们采取行动的输出,所以一旦将模型付诸于实际行动中,那么,模型就需要进行更新。这些更新是必需的,因为实施的更改将影响模型的未来输入。如果继续使用旧模型,就有超过原始数据的界限做推断的风险。所以,只有人类才能回答模型应该在哪一点上更新的问题。

这就是为什么尽管机器学习大行其道,仍然需要人类介入去更好地构建模型,更新模型,从而确保精准的模型能够更有效地服务于我们真实工作中的场景应用。

以上就是我们今天带来的机器学习入门探索及思考。在下篇文章中,我们将通过进一步介绍两种机器学习算法:k最近邻和朴素贝叶斯,并通过实际案例来看看如何运用这两种方法分析一些日常生活中有趣的数据。


最后,对JMP感兴趣的小伙伴们,欢迎下载JMP30天免费试用!你可以点击这里或者通过复制以下链接到PC端浏览器下载(由于软件只支持在电脑端安装,且安装程序较大,建议通过复制以下链接到PC端浏览器进行下载)

更多数据分析相关干货、JMP实用技巧、JMP最新活动,敬请关注JMP官方微信公众号:
回复

使用道具 举报

发表于 2019-5-9 20:25:52 | 显示全部楼层
JMP14 标准版也有神经网络    还是专业版运行的版本更加高级?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-5-10 09:08:46 | 显示全部楼层
wangtian4625 发表于 2019-5-9 20:25
JMP14 标准版也有神经网络    还是专业版运行的版本更加高级?

对,严格来说是这样的。JMP Pro的预测建模功能更强大,如图:


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|JMP数据分析论坛 ( 沪ICP备13022603 )  

GMT+8, 2019-7-19 22:40 , Processed in 0.321736 second(s), 17 queries .

Powered by Discuz! X3

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表