气化圈

搜索
查看: 1843|回复: 1

大数据没那么神秘: 技术篇(1)

[复制链接]
已绑定手机

煤质水质共享用户

发表于 2017-3-24 20:54:19 | 显示全部楼层 |阅读模式

注册气化圈,结交更多气化人士,培训、考试、交流让你轻松玩转圈子。

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

x
本帖最后由 lsf2599 于 2017-3-24 20:56 编辑


(点击图片进入)

  来源公众号:古滕伯格
作者按:我最近写了《还有什么事计算机干不出来》和《化工行业到底Low不Low》两篇算是科普的文章,这两篇文章都是为写两者的结合点作下铺垫,大数据技术和人工智可能会怎样改变化学行业?根据我的研究经历和工作经历,分几篇文章讲述大数据技术原理极其化学工业中可能的应用。


我对大数据的理解大部分是基于10年前博士阶段的学习和研究,以及最近两年的重新认识,文章不严谨之处还请专业人士提出意见。


写作的大致计划,大数据本身分三次写,两次技术篇,一次思维篇大数据之化工应用分两次写:生产运营优化;研发与工程设计。大约需要两月完成,敬请耐心关注。



                               
登录/注册后可看大图
Part 1:技术篇(1)

大数据或者机器学习的书都会讲两个经典的故事:第一个是啤酒和尿布的故事;第二个是怀孕女孩的故事。我这里把怀孕女孩的故事重新讲一遍。


在美国,有一个大型连锁超市经常给准妈妈发送针对性的优惠券邮件,给予折扣,希望这些准妈妈成为忠实客户,将来在宝宝出生后继续购买利润高的婴儿用品,例如尿布,玩具等。有一天,一个生气的男人联系了超市,质问为什么他那只有十几岁的女儿收到了适用于孕妇的优惠券,这个爸爸认为超市商家是鼓励青少年怀孕。过了几天,超市的一个经理打来电话道歉,然而最终道歉的是这个爸爸,他已经问过女儿,发现她确实怀孕了。为什么超市比父亲更早知道这个女孩怀孕呢?原来超市利用大数据技术,根据客户购买的商品,例如孕期的维生素、化妆水等,以很大的概率判定一个女客户是否怀孕,甚至大致的预产期。


这个故事说明日常生活一些凌乱的、看起来不相干的数据里面隐藏着有用的信息,大数据或者机器学习就是从数据中挖掘出有用和相关的信息的方法。


(这个故事让我想起家门口的某大型连锁超市,我觉得现在办理会员卡太复杂,并没有多少激励措施让人办理会员卡。我建议在会员卡中免费预充50元钱,只要附近居民凭户口本就可以办理这种预充50元的卡,凭会员卡结账就有优惠。这样从每个客户的消费记录里面就可以发现各个客户独特的消费模式,从而针对性地发放促销广告到信箱。)


2016年是人工智能爆发的元年,年初Alpha狗大胜人类冠军,年底Master横扫人类一切围棋高手,普通大众已经开始关注人工智能,或多或少地听说过大数据、机器学习、深度学习、人工智能这些概念。这些概念早已走出学术界的圈子,进入工业、商业、政治、社会和普通大众。非人工智能专业的人,包括很大一部分从事计算机行业的人,都关心这些概念有什么区别?最热门的大数据到底是怎样像我们人脑一样学习的?大数据技术有哪些应用?大数据会在哪些领域超越人类智慧?大数据对我们现在从事的职业会产生多大的影响?



                               
登录/注册后可看大图
先从历史和概念说起

人工智能(Artificial Intelligence)是最早提出的概念,让机器或计算机具有人的感知、学习、判断和决策能力。判断一个机器有没有智能的一个标准就是图灵测试:


1950年图灵发表一篇题为“机器能思考吗”的论文,提出了著名的图灵测试:如果一台机器能够与人类展开对话(通过电传设备)而不能被辨别出其机器身份,那么称这台机器具有智能,即下图1中的人(C)无法判定隐藏在后面与之对话的的是计算机(A)还是人(B)。该文为图灵赢得了“人工智能之父”的桂冠。



c643681b1dffc51c6ec4878881fa47ef.png

图1:图灵测试



到目前为止,人工智能主要有两种研究方法:基于规则和基于数据。80年代前的基于规则的研究方法早已宣告死亡,此路不通。人类至今还没有弄清,大脑是如何记忆、学习、思考和决策,如何让计算机去模拟大脑去?我们不是通过研究语法来熟练掌握一门语言,而是通过大量的听说对话;我们不是通过研究汽车的机械和运动原理学会开车,而是通过教练手把手教和上车实习。


互联网的出现,让研究人员可以轻易获得大量数据,从而直接用大量数据中学习隐含的规则,机器学习(machine learning),就是让机器能够通过数据获取经验并且能够利用他们,在以后的类似经验中能够提高它自身的表现(Tom Mitchell,1997)。所以说,机器学习是目前人工智能的主要研究方法。


机器学习的算法有很多种,人工神经网络(Artificial Neural networks)是其中一种较为复杂且历史悠久的算法,它模仿大脑中的神经元的信息处理方法。过去受计算能力和训练算法的限制,人工神经网络一般只有3层结构(输入层、隐层和输出层);深度学习(deep learning)(Hinton,2006)发现3层以上的多层(深度的由来)的神经网络具有更强的学习和表达能力,更重要的是,Hinton提出更高效的训练算法来训练多层网络。所以,深度学习是目前机器学习中最热门的算法。


大数据(Big Data)是从科普的角度提出的一种概念,包括了数据本身、软硬件支撑技术、和应用思维三个维度。2008年末,计算社区联盟(Computing Community Consortium),发表了一份有影响力的白皮书《大数据计算:在商务、科学和社会领域创建革命性突破》。它使人们的思维不仅局限于数据处理的机器,并提出:大数据真正重要的是新用途和新见解,而非数据本身。所以说,大数据覆盖了机器学习。


我觉得对于非专业人士没有必要弄清楚这些词汇之间的具体区别,只要明白这些词汇都是说人工智能。考虑到大数据在广大群众中成为目前代表人工智能的最热门词汇、“网红”词语,并且涵义更为广泛、更注重应用层面,我在后文中均以大数据这个词代表人工智能和机器学习的概念。


机器是怎样从数据中学习?


一切科学研究(包括自然科学和社会科学)的目的只有两个:
1 对过去发生的(观测到)现象进行总结和解释
2 对未发生的(未观测到)现象进行预测和判断


预测能力是检测一种理论或方法是否有效的真正依据。过去的事情已经发生过,除了从中学习,已经没有其他价值;我们更看重预测能力,预测帮助我们决策,只有预测未发生的事情的结果我们才能获益,例如某股票明天是上涨还是下跌。对过去的解释和对未来的预测,必须采用统一的知识、理论,不可以解释过去用一套理论,预测未来用另外一套理论。


建立统一的知识和理论也有两种方法:


1.归纳法:从过去发生的现象(包括人工设计的实验)找出共同点和规律,提炼出规则和理论知识,并得到科学共同体的检验和认可。典型的学科有物理、化学和工程学科。
2.演绎法:从共同认可的理论知识中,继续推理进而衍生出新的理论,典型的学科就是数学,从几条公理开始,演绎出现在数学学科的参天大树。目前物理学科也是朝着这个方向在走,由于研究尺度已经大到或者小到无法设计实验来验证,只能在人脑中演绎。


通常,理论或者知识可以表达为为一段逻辑语言描述(如果…那么…,if...then) 、一个数学公式或方程、一个曲线图表,这些可以表达出来的知识称为显性知识。但是某些情况下,知识无法用语言或者数学表达,它隐藏在大脑中,可以称这类知识为经验、直觉例如某些老专家、老司机的经验、人类的语言处理、图像处理方式,将这类知识称为隐性知识。


显性知识的处理主要依靠逻辑运算和数值运算,人类依靠右脑处理这类信息,计算机在显性知识的处理上相对人类有绝对的优势。


机器学习或大数据技术是为处理隐性知识而产生,处理方式有点类似人脑,对过去发生的现象进行记忆、归纳、抽象,形成一般性“隐性”规则,并利用这些“隐式”规则对未发生的现象进行预测。我这里对“隐性”加了引号,因为要让计算机处理,必须最终还是用一堆数学公式和方程表示,但是这些公式和方程没有任何物理和逻辑上的意义,人无法从其中单个的方程中解读出任何意义的信息,完全就是一个黑箱,称大数据技术是一种黑科技毫不为过,真的很黑啊!显然,大数据使用归纳法来获得知识。



78569c2b58b20e04866acc91daf842c7.jpg

图2:大数据的应用流程



再说点题外话。人来一切知识都是来自观察和由之产生的数据,通过数据(data)-〉信息(information)-〉知识(knowledge)- 〉智慧(wisdom)这个过程不断精简和浓缩观察到的现象,最终形成智慧。什么知识可以称之为智慧?我想只有哲学才能称之为智慧,科学只能算是知识。大数据或人工智能能完成“数据-〉信息-〉隐形知识”这个过程,更高阶段的显性知识和智慧只能由人来提取,这也是计算机取代不了人的一个方面。


我用一个简单的一维数据处理例子来说明以上文字。


某简单系统只有一个输入x和一个输出y,历史记录中有10组(x, y) 数据。由于测量误差,观测到的y值并不完全准确,含有30%的噪声,记作y_noise, 所以将观测数据组记录为(x, y_noise),见下图3。


问:请预测x=1.5时,y值估计为多少?



33938f2eb9d0845a77557ee80c377e2c.jpg

图3:原始观测数据(x,y_noise)



解答:有不同的数学处理方法


方法1:线性插值,直接将临近两点x=1.2 ,x=1.8 连接成一条直线,从直线上读出x=1.5时,y=0.45


方法2:数值逼近,用一个3次多项式逼近这些观测到的数据点,用所有观测到的数据回归估计3次多项式的所有系数,最终x=1.5时,y=0.50


方法3:参数回归,观察这些数据点,图像类似正弦波,所以用函数y=k*sin(b*x)表达,用所有观察到的数据回归参数k和b,得到y=2.026sin(2.013x),   最终x=1.5时,y=0.25


方法1 误差极大,严重受相邻两点的测量误差影响,其余点的信息未得到利用。目前这种方法已经在实验数据处理中较少使用。


方法3 最为准确,这个系统真实的关系为y=2sin(2x)  (“你咋知道呢?”,“废话,这是我指定的”),x=1.5时,真实值y=0.28。可见尽管原先所有观测数据包含了30%的测量误差,但是回归系统非常准确地回归出系统参数,预测误差只有惊人的1%。这惊人的一切是建立在我们已经意识到“这个系统是正弦波”,该方法已经使用了显性知识。


方法2是在没有其他信息的前提下的一个好方法,它仅利用了所有的观测数据信息,尽管这个例子中预测误差还高于方法1,但是可以适当提高多项式次数来减少误差,例如4次多项式。


将以上3种方法显示在下图4中,可见方法3的sin_fit和真实值y_true几乎重合,方法2受观测数据误差影响,曲线位于真实值和测量值之间。



c7b2726737b216a2311f8f76d520f7d1.jpg

图4:不同数据处理方法的预测能力比较



方法2 中用多项式逼近任意函数其实就是一种简单的机器学习,多项式函数本身并不包含系统本身任何物理意义,它纯粹是一种数学处理(Taylor级数可以在局部范围内逼近任意函数),但是在图4中可以看出,它确实能在一定精度上归纳了历史观测数据,并能合理地预测未发生的事情,虽然有一定的误差。


上面这个例子只是一般性的数据处理,算不上大数据。如果增加数据是什么样呢?我将数据点增加到30个,见图5,图形就更有规律了,用上面的方法2 的预测精度会更高。



71c3e5a6091f690ad85dc47bdcca1e9d.jpg

图5:更多地数据



即使这样,这个例子还是非常简单,离大数据依然非常遥远。就建模本身来说,现实问题的突出困难有:


(1)输入数据是高维,即有很多个x作为输入,多达上百;甚至有多个输出y。可以想象,在计算机上可视化显示一个二维输入的问题比较容易,三维问题需要用到立体图像,已经不易;4维问题需要采用动画的方式;5维的问题已经无法图像表达。多项式本身在高维问题和更宽的定义域上逼近能力也已经非常弱,无法使用多项式作为一个通用逼近函数。


(2)数据的非连续性和非结构化,例如输出就是“Yes”"No",而非连续的数值,而通常的函数输出为连续值。更麻烦的,数据有可能是文本、图像、声音,并且不是计算机善于处理的数据表格。


大数据技术到底有哪些方法来克服上面的困难?且待下回分解。


版权声明:作者保留全文版权,任何其他公众号转载需取得作者同意。欢迎转发!
气化圈通知:禁止发布影响企业形象的相关文档和话题,发现立即屏蔽永久封号!

发表于 2017-3-28 10:20:12 来自气化APP | 显示全部楼层
支持大数据
气化圈通知:禁止发布影响企业形象的相关文档和话题,发现立即屏蔽永久封号!
回复 支持 反对

使用道具 举报

发表回复

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

本版积分规则

联系客服 关注微信 下载APP 返回顶部 返回列表