人类从历史中学到的唯一教训,就是人类无法从历史中学到任何教训。
「但机器可以学到。」 ——沃兹基硕德
无论是预测明天的天气,预测未来的股票价格,识别合适的机会,还是估计病人的患病风险,都可能对时间序列数据进行解释,数据的收集则是在一段时间内对观察结果的记录。
但使用时间序列数据进行预测通常需要多个数据预处理的步骤,并且需要用到复杂的机器学习算法,对于非专业人士来说,了解这些算法的原理和使用场景是一件不容易的事。
最近,来自麻省理工学院的研究人员开发了一个强大的系统工具tspDB方便用户处理时序数据,能够在现有的时间序列数据库之上直接整合预测功能。系统包含了很多复杂的模型,即使非专家也能在几秒钟之内完成一次预测。在执行预测未来值和填补缺失数据点这两项任务时,新系统比最先进的深度学习方法更准确、更高效。论文发表在ACM SIGMETRICS会议上。
论文地址:
tspDB性能提升的主要原因是它采用了一种新颖的时间序列预测算法,这种算法在对多变量时间序列数据进行预测时特别有效。多变量指的是数据有一个以上的时间依赖变量,例如在天气数据库中,温度、露点和云量的当前值都依赖于其各自的过去值。
该算法还可以估计多变量时间序列的波动性,以便为用户提供模型预测准确度的confidence
作者表示,即使时间序列数据变得越来越复杂,这个算法也能有效地捕捉到时间序列结构。
文章作者Anish Agarwal博士毕业于麻省理工,主要研究兴趣包括因果推理和机器学习的相互作用;高维统计;数据经济学。2022年1月作为博士后研究员加入加州大学伯克利分校的西蒙斯研究所。
处理时序数据的正确姿势
目前机器学习工作流程的一个主要瓶颈是数据处理太耗费时间,并且中间流程也很容易出错。开发人员需要从数据存储或数据库中先获取数据,然后应用机器学习算法进行训练和预测,这个过程中需要大量的人工来做数据处理。
现在这种情况越来越严重了,因为机器学习需要吞进去的数据越来越多,更不好管理了。尤其是在实时预测领域,特别是在各种时间序列的应用场景中,比如金融和实时控制更需要好好管理数据。
要是能直接在数据库上进行预测,不就省了取数据这步了吗?
但这种在数据库上的预测集成系统不仅需要提供一个直观的预测查询界面,防止重复数据工程;同时还需要确保准确率可以达到sota,支持增量的模型更新,比较短的训练时间和较低的预测延迟。
tspDB就是直接与PostgreSQL集成,内部原生支持多个机器学习算法,例如广义线性模型、随机森林、神经网络,在训练模型的时候也可以在数据库里调节超参数。
和其他数据库不同的是,tspDB的一个重要出发点「终端用户」如何与系统对接来获得预测值。
为了让机器学习的接口更通用,tspDB采用了一种不同的方法:把机器学习模型从用户中抽象出来,争取只用一个单一的界面来响应标准的数据库查询和预测查询,也就是都用SQL来查询。
在tspDB中,预测性查询的形式与标准SELECT查询相同。预测性查询和普通查询的区别就是一个是模型预测,另一个是检索。
比如数据库里只有100条数据,想预测第101天的值,就用PREDICT关键词,WHERE day = 101即可;而WHERE day = 10时就会被解析第10天的股票价格的估算值/去噪值,所以PREDICT还可以用于预测缺失值。
为了实现PREDICT查询,用户需要利用现有的多元时间序列数据先建立一个预测模型。CREATE的关键字可以用于在tspDB中建立预测模型,输入的特征也可以是多个数据列。
tspDB与PostgreSQL DB相比,在标准的多变量时间序列数据集上,在tspDB中创建预测模型所需的时间是PostgreSQL批量插入时间的0.58倍-1.52倍。在查询延迟方面,在tspDB中回答一个PREDICT查询所需的时间是回答一个标准的PREDICT查询的1.6到2.8倍,与回答一个标准的SELECT查询相比,要高出1.6到2.8倍。
从绝对值来看,这相当于回答一个SELECT查询需要1.32毫秒,而回答一个预测查询需要3.5毫秒,回答一个归纳/预测查询需要3.36/3.45毫秒。
也就是说,tspDB的计算性能接近于从PostgreSQL插入和读取数据所需的时间,基本上可以用于实时预测系统。
因为tspDB还只是一个概念的验证,相当于是PostgreSQL的一个扩展,用户可以对单列或多列创建预测查询;在时间序列关系上创建单列或多列的预测查询,并提供预测区间的估计值。最重要的是,代码是开源的。
代码链接:
文章中还提出一个基于时间序列算法的矩阵分解算法,通过将多变量时序数据Page Matrix堆叠起来后,使用SVD算法进行分解,在子矩阵中移除最后一列作为预测值,使用线性回归对目标值进行预测即可。
对于不断涌入的时序数据,算法还支持增量的模型更新。
为了对算法进行性能测试,研究人员选择了三个现实世界的数据集,包括电力(Electricity)、交通(Traffic)和金融(Finance)。评价指标采用Normalized Root Mean Square Error (NRMSE)作为准确率。为了量化不同方法的统计准确性,研究人员还加了一个标准Borda Count (WBC)的变体作为评价指标,0.5的值意味着算法的表现和其他算法相比就是平均水平,1代表相比其他算法具有绝对优势,0代表绝对劣势。
将tspDB的预测性能与学术界和工业界最流行的时间序列库如LSTM、DeepAR、TRMF和Prophet进行比较后可以发现,tspDB的表现与深度学习算法(DeepAR和LSTM)相比都相差不多,并且超过了TRMF和Prophet。
当改变缺失值的比例和添加的噪声时,tspDB在50%的实验中是表现最好的方法,在80%的实验中至少是表现第二好的。使用WBC和NRMSE这两个指标,tspDB在电力、金融数据集中的表现优于其他所有算法,而在交通数据集中的表现可与DeepAR和LSTM匹敌。
在方差估计上,因为我们无法获得现实世界数据中真正的基础时变方差,所以研究人员将分析限制在合成数据上。合成数据集II包括了九组多变量时间序列,每组都有不同的时间序列动态加性组合和不同的噪声观测模型(高斯、泊松、伯努利噪声)。
实验结果中可以发现,除了一个实验之外,tspDB在所有的实验中都比TRMF和DeepAR(用于预测)具有更高的性能(>98%)。
总的来说,这些实验显示了tspDB的稳健性,即在估计时间序列的均值和方差时,可以消除部分噪声的影响。
怎样成为一名优秀的科学家
”这是一个不好回答的问题。 让我总结,大概有以下几点:(1)酷爱研究,(2)勤奋好学,(3)思想深刻,(4)想象丰富,(5)功底扎实,(6)为人谦和。 我接触过许多世界一流的科学家,他们几乎无一例外。 下面就把自己经历过的,听过的,或读过的几个小故事分享给大家,作为证据。 愿与大家共勉。 伊藤清(Kiyoshi Ito)是当代最伟大的数学家之一。 他将微积分方法扩展到随机过程,建立了伊藤微积分。 该方法被广泛应用到随机微分方程、金融数学等领域。 我在日本京都大学读本科时,正值伊藤先生从京大退休。 去聆听了他的‘最终讲义’。 伊藤先生报告的结束语让我至今记忆犹新。 他说:“我做数学,是因为数学太有趣了。 ”话音一落,全场就响起了经久不息的掌声。 笛阿孔尼斯(Persi Diaconis)是著名的统计学家。 他14岁开始当魔术师,18岁时买了一本概率书,发现根本读不懂,于是24岁时开始在夜校学习数学。 后来他在哈佛大学拿到数学博士,成为斯坦福大学教授,还当上了美国科学院院士。 笛阿孔尼斯的一个著名研究成果是他证明洗扑克牌七次才能洗干净,不愧是魔术师出身的数学家。 听过笛阿孔尼斯的关于排序学习的讲演。 印象深的是他很投入,讲演中会时不时地闭上眼睛,完全进入自己的世界。 Rakesh Agrawal提出了许多数据挖掘的重要概念与方法,例如关联规则挖掘算法。 他说:“我做研究选题时一定考虑会不会对十年以后产生影响。 ”有一次陪他去北京一家餐厅吃饭。 刚进门,就见他放慢了脚步,像小孩一样好奇地探着头,凑到旁边的玻璃柜前。 原来那里摆着许多穿着民族服装的玩偶。 Rakesh在那儿端详了半天,用带着印度口音的英语说:“It is nice”,脸上露出了开心的笑容。 像许多科学家一样,Rakesh也是一个精力旺盛,充满好奇心的人。 Michael Jordan是机器学习领域最有影响的学者之一,贝叶斯学习的代表人物。 Jordan培养出了许多优秀的学生,他和学生们做的许多工作都是里程碑性的。 Jordan并不出身于名校,但是靠自己的聪明才智与刻苦努力,成为MIT、伯克利的教授,2011年还当选为美国科学院院士。 Jordan多年来养成了一个习惯,晚上就寝前一定读一篇论文。 Leo Breiman是杰出的统计学家,曾发明CART与Bagging算法。 Breiman认为现在的数学教育大多是失败的。 重要的是要让孩子们喜欢数学,因为数学是非常有趣的。 他曾亲自去小学五年级教数学。 Breiman生前回忆那段经历时说:“我们一起做了各种游戏。 他们在游戏中学习了解析几何、代数以及其他各种复杂的东西。 ” [1]Robert Schapire因为发明了著名的机器学习算法AdaBoost与Yoav Freund一起获得了计算理论界最高奖歌德尔奖。 我曾问Rob:“你们当初是怎么想到AdaBoost的?”他的回答非常简单:“因为我们之前证明了可以把弱分类器提升为强分类器,所以后来就想到了AdaBoost。 ”好像一切都在情理之中。 他的表情也像平时一样从容淡定。 一流科学家思想都达到了极高境界,很多发明发现都是他们通过自然推理,而非灵光一现,产生出来的。 有人说爱德华·威滕(Edward Witten)是有史以来最伟大的理论物理学家,还有人说他是当今的爱因斯坦。 威滕建立和发展了诸多物理学理论,特别是超弦理论(superstring theory)。 他曾撰写了两百多篇论文,在物理学中论文引用H指数排名第一。 他获得过多个大奖,包括数学的菲尔兹奖。 威滕思维敏捷,经常会思若泉涌,想出很多idea。 正因如此,他也从不吝惜自己的idea,只将最好的idea付诸于研究。 他说:“我年轻的时候,每天早上起来都会有一种感觉,今天会有从来没有过的好idea。 ”[2]Peter Bartlett创立了学习泛化能力的分析手法,是机器学习理论的领军人物。 Peter的机器学习讲义思路清晰、证明严谨、叙述简明,读起来让人觉得是一种享受。 有一次,Peter儿子的学校请他给小学生们讲一堂课,内容是微积分!他说花了很大功夫备课,但也可见他理论功底之深。 ROSS Quinlan2011年获得了数据挖掘领域最高荣誉奖KDD创新奖。 十多年前听过Quinlan先生的报告。 即将结束时,一位听众冒昧地问:“什么是方差?”这位相貌酷似林肯的澳大利亚绅士并没有显出不耐烦,相反他耐心地解释说:“我不是统计学家。
什么是矩阵的范数 (转)
在介绍主题之前,先来谈一个非常重要的数学思维方法:几何方法。 在大学之前,我们学习过一次函数、二次函数、三角函数、指数函数、对数函数等,方程则是求函数的零点;到了大学,我们学微积分、复变函数、实变函数、泛函等。 我们一直都在学习和研究各种函数及其性质,函数是数学一条重要线索,另一条重要线索——几何,在函数的研究中发挥着不可替代的作用,几何是函数形象表达,函数是几何抽象描述,几何研究“形”,函数研究“数”,它们交织在一起推动数学向更深更抽象的方向发展。 函数图象联系了函数和几何,表达两个数之间的变化关系,映射推广了函数的概念,使得自变量不再仅仅局限于一个数,也不再局限于一维,任何事物都可以拿来作映射,维数可以是任意维,传统的函数图象已无法直观地表达高维对象之间的映射关系,这就要求我们在观念中,把三维的几何空间推广到抽象的n维空间。 由于映射的对象可以是任何事物,为了便于研究映射的性质以及数学表达,我们首先需要对映射的对象进行“量化”,取定一组“基”,确定事物在这组基下的坐标,事物同构于我们所熟悉的抽象几何空间中的点,事物的映射可以理解为从一个空间中的点到另一个空间的点的映射,而映射本身也是事物,自然也可以抽象为映射空间中的一个点,这就是泛函中需要研究的对象——函数。 从一个线性空间到另一个线性空间的线性映射,可以用一个矩阵来表达,矩阵被看线性作映射,线性映射的性质可以通过研究矩阵的性质来获得,比如矩阵的秩反映了线性映射值域空间的维数,矩阵范数反映了线性映射把一个向量映射为另一个向量,向量的“长度”缩放的比例。 范数是把一个事物映射到非负实数,且满足非负性、齐次性、三角不等式,符合以上定义的都可以称之为范数,所以,范数的具体形式有很多种(由内积定义可以导出范数,范数还也可以有其他定义,或其他方式导出),要理解矩阵的算子范数,首先要理解向量范数的内涵。 矩阵的算子范数,是由向量范数导出的,由形式可以知:由矩阵算子范数的定义形式可知,矩阵A把向量x映射成向量Ax,取其在向量x范数为1所构成的闭集下的向量Ax范数最大值作为矩阵A的范数,即矩阵对向量缩放的比例的上界,矩阵的算子范数是相容的。 由几何意义可知,矩阵的算子范数必然大于等于矩阵谱半径(最大特征值的绝对值),矩阵算子范数对应一个取到向量Ax范数最大时的向量x方向,谱半径对应最大特征值下的特征向量的方向。 而矩阵的奇异值分解SVD,分解成左右各一个酉阵,和拟对角矩阵,可以理解为对向量先作旋转、再缩放、最后再旋转,奇异值,就是缩放的比例,最大奇异值就是谱半径的推广,所以,矩阵算子范数大于等于矩阵的最大奇异值,酉阵在此算子范数的意义下,范数大于等于1。 此外,不同的矩阵范数是等价的。 范数理论是矩阵分析的基础,度量向量之间的距离、求极限等都会用到范数,范数还在机器学习、模式识别领域有着广泛的应用。
介绍下机器人知识
请参考:
写字机器人
在当时的自动玩偶中,最杰出的要数瑞士的钟表匠杰克·道罗斯和他的儿子利·路易·道罗斯。1773年,他们连续推出了自动书写玩偶、自动演奏玩偶等,他们创造的自动玩偶是利用齿轮和发条原理而制成的。它们有的拿着画笔和颜色绘画,有的拿着鹅毛蘸墨水写字,结构巧妙,服装华丽,在欧洲风靡一时。由于当时技术条件的限制,这些玩偶其实是身高一米的巨型玩具。现在保留下来的最早的机器人是瑞士努萨蒂尔历史博物馆里的少女玩偶,它制作于二百年前,两只手的十个手指可以按动风琴的琴键而弹奏音乐,现在还定期演奏供参观者欣赏,展示了古代人的智慧。
19世纪中叶自动玩偶分为2个流派,即科学幻想派和机械制作派,并各自在文学艺术和近代技术中找到了自己的位置。1831年歌德发表了《浮士德》,塑造了人造人“荷蒙克鲁斯”;1870年霍夫曼出版了以自动玩偶为主角的作品《葛蓓莉娅》;1883年科洛迪的《木偶奇遇记》问世;1886年《未来的夏娃》问世。在机械实物制造方面,1893年摩尔制造了“蒸汽人”,“蒸汽人”靠蒸汽驱动双腿沿圆周走动。
进入20世纪后,机器人的研究与开发得到了更多人的关心与支持,一些适用化的机器人相继问世,1927年美国西屋公司工程师温兹利制造了第一个机器人“电报箱”,并在纽约举行的世界博览会上展出。它是一个电动机器人,装有无线电发报机,可以回答一些问题,但该机器人不能走动。1959年第一台工业机器人(可编程、圆坐标)在美国诞生,开创了机器人发展的新纪元。
现代机器人
现代机器人的研究始于20世纪中期,其技术背景是计算机和自动化的发展,以及原子能的开发利用。
机器人汽车焊接生产线
自1946年第一台数字电子计算机问世以来,计算机取得了惊人的进步,向高速度、大容量、低价格的方向发展。
大批量生产的迫切需求推动了自动化技术的进展,其结果之一便是1952年数控机床的诞生。与数控机床相关的控制、机械零件的研究又为机器人的开发奠定了基础。
另一方面,原子能实验室的恶劣环境要求某些操作机械代替人处理放射性物质。在这一需求背景下,美国原子能委员会的阿尔贡研究所于1947年开发了遥控机械手,1948年又开发了机械式的主从机械手。
铆接机器人
1954年美国戴沃尔最早提出了工业机器人的概念,并申请了专利。该专利的要点是借助伺服技术控制机器人的关节,利用人手对机器人进行动作示教,机器人能实现动作的记录和再现。这就是所谓的示教再现机器人。现有的机器人差不多都采用这种控制方式。
作为机器人产品最早的实用机型(示教再现)是1962年美国AMF公司推出的“VERSTRAN”和UNIMATION公司推出的“UNIMATE”。这些工业机器人的控制方式与数控机床大致相似,但外形特征迥异,主要由类似人的手和臂组成。
1965年,MIT的Roborts演示了第一个具有视觉传感器的、能识别与定位简单积木的机器人系统。
机器狗
1967年日本成立了人工手研究会(现改名为仿生机构研究会),同年召开了日本首届机器人学术会。
1970年在美国召开了第一届国际工业机器人学术会议。1970年以后,机器人的研究得到迅速广泛的普及。
1973年,辛辛那提·米拉克隆公司的理查德·豪恩制造了第一台由小型计算机控制的工业机器人,它是液压驱动的,能提升的有效负载达45公斤。
到了1980年,工业机器人才真正在日本普及,故称该年为“机器人元年”。
随后,工业机器人在日本得到了巨大发展,日本也因此而赢得了“机器人王国的美称”。
发表评论