Michael Jordan在“21世纪的计算大会”上的主题演讲:大数据的分治和统计推断

标签: 技术 | 发表时间:2012-12-17 15:25 | 作者:微软亚洲研究院
出处:http://blog.sina.com.cn/msra

演讲人:Michael Jordan博士

美国加州大学伯克利分校电气工程与计算机系、统计学系教授

        美国科学院(NAS)、美国工程院(NAE)、美国文理科学院(AAAS)院士

演讲标题:Divide-and-Conquer and Statistical Inference for Big Data

                                          

【Michael Jordan博士在主题演讲的照片】

              【Michael Jordan博士主题演讲:“大数据的分治和统计推断”的全程视频】

 

                                                             【Michael Jordan博士在主题演讲中展示的PPT】 

 

以下文稿来自现场翻译人员速记,仅供参考:

 

非常高兴能够来到这里。这是我两个月以来第二次来中国谈大数据了,确实大数据在全球都引起很多的共鸣。但是在这个领域我们还需要做很多的事情,如果你现在决定来研究大数据这个问题,一切都才刚刚开始。今天我主要会介绍有关大数据的重要的概念和与它相关的非常与众不同的事情。

 

一.什么是大数据的现象?

 


科学的发展带给我们庞大的数据可以被用于经典理论的检验和实验科学中。我们经常谈的粒子科学研究、物理学研究、基因学研究、都给我们带来了大量的数据。对人类行为的测量,特别是互联网行为的测量能够被用于个性化发展和开辟新的市场。还有我们所说的传感器的网络,这就是大数据的现象。到底值得我们思考的问题是什么?是不是只是“大”,大数据是否指的是更多的存储空间、更多性能,这能够解决这个问题吗?我觉得不是这样的。

 

二.什么是大数据问题?

 


在我们看来,计算机科学经常谈的是对资源的管理。最典型的资源就是时间、空间、能量。数据在以前并没有被认为是一种资源,而是被认为是一种使用资源的物品。但是,我们看到现在的数据已经被认为是一种资源,这是我们可以利用并从中获得价值和知识的一种资源。我们将数据资源同我们所用的时间、空间资源结合在一起形成一个系统,从而使我们做出适时的、节约成本、高质量的决定和结论,因此我们必须以不同方式进行权衡。但是数据资源和时间、空间资源有很大的不同。如果我给你更多的时间和空间你会更开心,但是数据却不是这样,并不是给你越多的数据你就会越开心。就像是你走进一个公司,问他们你们最大的问题是什么,他们通常会说最大的问题就是数据太多了。目前来看,越来越多的数据会给我们带来越来越大的麻烦。因此我们必须找到一个解决这个问题的办法,一种是统计学的方式,另外一种是计算的方式。统计学方式可能更微妙,所以我们等一下花更多时间在上面。


1. 对复杂性的疑问比数据增长的速度更快;

 

一些数据科学家他们经常谈,在一个数据库的表格中行代表人,而列是对人的特征记录,基本的数据库可能会有几千个行——意味着有几千个人的信息在一个数据库里,然后你再收集每个人的基本信息,并不需要太多,比如个人的年龄、地址、高度、收入,这些数据足以让你了解在这个数据库中的每一个人。

 

现在我们来考虑数百万的“行”,因为我们确实对每个人的个性和细节十分感兴趣。比如说你是在天津居住,你喜欢迈克尔·杰克逊,你喜欢骑自行车,那么你患某种疾病的概率是多少等等,我们在数据库中都有关于你的信息。所以我们看到有关人数的行数在不断的增加,同时描述也更多,那么列数也在增加。有些我们还可以添加一些列,比如说这个人昨天吃了什么,他的音乐、读书的偏好,还有他基因的特点等。但问题是我们不光对个人的列感兴趣,我们对列的集合更感兴趣。如果你生活在天津,你喜欢骑自行车,你最喜欢吃的水果是苹果,这些都是具体的这些列的信息集合。

 

现在问题就是我们需要指数级的列和行增长的组合方式,随着行数和列数的线性增长,我们考虑的数据就会呈指数倍的增加。我们来举一个医学方面的案例,把列设想成肝病的信息——1是有肝病,0是没有肝病;但是有一些列所描述的情况能够很好地预测肝病的发生。假设如果你喜欢在天津,喜欢骑自行车,喜欢吃香蕉,这样的人就会得肝病。如果你这个时候去看医生,医生问你住在哪里,你说天津;医生问你周末做什么,你说骑自行车;问你最喜欢吃的水果是什么,你说是香蕉,那么医生就会告知你需要检查一下肝脏。这当然是个假设。任何指令集里面都需要看这些数据,进行论证,找到有意义的模式。但当数据变得越来越大,找到有意义的模式和信息变得越来越难。所以,大数据并不是非常好的事情,并不是有更多的数据就会获得更多的知识。大数据其实才是最大的麻烦。现在来看数据越来越难转变成知识,如果我们想要获得真正有意义的东西,我们需要采取一些行动。我们统计学家非常担心:我们应当如何消除噪音,真正得到里面所含的知识。统计学上的程序和算法,必须运行在计算机上,。大的数据会花更多的时间运行,使我们不能快速的做决策了。真正有大问题的时候,我们不知道如何解决和运行统计的程序,做出快速的决策,因此我们发现了第二个解决方案。第一个是统计学上,第二个是计算方面。

 

2.大数据会导致在可接受的时间范围内复杂算法不能够运用

 

第二个就是计算方面,算法需要时间运行,还要登录、输出等,需要几秒钟的决策,比如在线的拍卖需要几秒钟做决策,我们还需要给予一些数据,比如说输出的算法。当数据变多,这种方法可能会完成不了,或者是需要很多的运行时间,这是时我们要怎么做?要把这些数据舍弃掉吗?舍弃的结果是什么?可能使我的数据库空间增加,如果我不断地删除我的数据。我应当让数据运行慢一些,但是这样就会使处理的时间过长。我们面临很大的问题,我们将时间、空间与数据、不断增长的数据规模结合在一起,如果没有很好的处理这些大数据的扩展算法。这确实是一个存在的问题,我认为这个问题是根本且基础的。

 

三.最终的目标

 


从理论上来说有这样终极的目标:给定一个可以推理的目标,同时确定固定的计算时间,提供由算法和分析支撑的保证,按小时、分钟、秒进行计算,推论的质量将会随着数据的精确性而单调递增,并且是没有边界的无线增长。随着数据无边界的增长,遇到很大的麻烦,我们每一代人都需要面对。我们想一次解决,有什么样的办法可以推理积累的大量数据?需要花时间解决,这可能需要几十年才能解决。

 

四. 自下而上:将算法原理和统计学的推论完美地地结合在一起

 

我们看一下目前的进展。其中一个就是自下而上的办法,将算法原理和统计学的推论完美地结合在一起。这些算法原则上来讲,可以放在一个环境当中,我们选一些分治的方法来解决。这些难题,我们聚合起来,聚合的越多,这些错就越少,更好做一些。然后分开相互之间相互矛盾的数据,包括统计数字,还有计算机科学的数字,可以避免带来很大的麻烦。然后再回到我们理论上的问题,如何进行权衡,提高我们计算的效率。

 


1.大数据引导程序(The bootstrap)

 

首先第一个问题,我们叫做大数据的引导程序,我们在伯克利几年前做过这样的工作。这个引导程序能够解决一些非常重要的问题——评价推论的质量。很多有学识的研究者并不太关注推论的质量。输入数据到一个盒子里面,然后得到一个答案,是9.5。但是多数的决策并不能满足要求,要知道9.5里面的差错率多大?如果这个数字超过10的话,就要把肝切掉了,如果是9.5的话还可以。所以,这是真正的9.5吗?还存在很大的误差吗?或者是没有超过10吗?如果真正做出真实的决策时,是没有误差这个栏的考虑,但是计算机科学家们需要对这个有很深的了解。所以我们要进行工作,能够在数据库的社区里面建立一些数据库,能够输入,然后再输出,同时有一个非常清楚明白的误差栏。

 

现在让我们进入到另外一个领域,进入到统计学里面怎么样呢?很有意思的一点就是在非常简单的事情上,我们抽样,根据有相关的公式,可以通过这样的途径进行了解。比如说我们根据抽样里面的差异性,加上知道差错率,如果不讲差错率,有一个中等的情况,比如说10.2,那这个误差是多少呢?并没有这样的公式在里面。我们怎么知道一般情况中存在的差异性?我们有一个通常叫做的程序框架,能够应对快速扩展的大数据,并且计算误差率。

 

到底推断的质量如何?我们观察的数据包括机器的误差率和基于数据进行参数的预测。我们叫做形成一种参数的预估值。就像一条程序、一个黑匣子,到底有多少的误差在里面,这是我们所关注的。通过对程序进行计算,了解数据指标情况,如果想做一个理想的统计学家的话,还要对它进行科学的定义。

 

所谓的频率主义者,每一个数据都会要计算中间的情况,还有一些预估估算,不同的数据级进行浮动,你看浮动的范围就带来这种所谓的误差率。从这个定义来说,这个误差率是什么,误差率就是指你还需要更多的时间分析这些数据。如果你没有大量的数据,你不能够对这些数据进行一次又一次的检验,并同时看他们之间的浮动。如果没有一个数据集的话,就可以一次性去做,看看生成的情况,我们只有一个数据集。

 

我们设想一下,如何分析这些问题,解决这些问题,即使只有一个数据集。这些数据来自什么地方,有这样的一些群体,比如说在我们这里生成一些数据,有一个曲线可以反映出相关的群体。如果是一个一般不存在的东西,上面有一个幻灯片,可以形成一个数据集,两个数据集,对每个数据集进行计算,你所在意的都是一些数据的预测,然后得到一个公式。可以做计算机的并击处理,生成一个数据的处理,每一个计算机可以进入一个预估值,然后可以在估算当中产生一些误差。然后这个里面我们没有多个数据级,我们不能这样去做。我们观察有一个数据来自这样的群体,然后这些数据不是列出来的数据,这些数据的分布图是分布式,可以生成越来越多的数据。这种分布尽管不可以换,但是你可以从中抽样。我们叫做近似值,基本上是真实的。

 


所以说,这是非常微妙、深层的理念,拿过一个数据级生成多个数据级,这个叫做引导程序。1979年的时候拿到的一个大奖,这里其实是非常简单的理念。尽管1979年还没有云的语言等,也是可以这样做。你可以用于任何的查询上,为什么不把所有的数据库从云上取样,听起来是非常好的理念。但是,这可以在我们计算机科学里面有更加好的应用。我们的一些数据在服务器上已经分布了,如果重新抽样,数据级拿过来,从里面进行抽样,得先返回去,再回到这个地方。意味着什么呢?从这个上面进行取样,讲的更清楚一些,就是基于终端的数据,这是一个分布式的,可以从任何一侧进行取样。比如说从一天当中这个数据发生的时间当中取样,同样一个大的数据级可以做一次,然后反复的做,这又意味着什么?如果这样取样的话,从其中一个点上分布,可以得到其中一个点,然后按比例的高度划分,我得到这一点,再次做一下,可以获得同样的点。做N次,在某些点上可以得到很多次。这跟我们取样和替代一样,把一个样品拿过来然后再返回去,反复地做。

 


我们经常描述,把最初的数据拿过来重新取样,然后做很多次,就是所谓的引导程序。数据点上有替代,可以做数学计算,0.632次,如果有这个取样的话,就有632个。不能做这么大,这是我们主要的程序,在随意的预估上,可以达到引导程序,已经超越一些小数据了,这是可能会带来的一些问题。

 

2.二次抽样(Subsampling)

 


还有另外一个方面,就是统计学家们做的。他们需要有竞争力,出现另外一个程序的话,它也可以来解决,叫做二次取样。二次取样跟以前一样,进行一个取样,在这个里面可能太大了,我们用一个子抽样,或者再次的抽样,进行一个划分。我们很快的到预估值上,在这个B点上得到9.5的数字,我可以再次去做,把B点从N点里面取出来,可以做很多次。我们可以有多少的估算值,还有这样的浮动,听起来很好,一个数据级,我得到各种估算值,问题就是是否正确。因为B点,预算值大小取决于N点的数量,这个取样是来了解这些误差。我们可以有这样的浮动,规模不一样的,尺寸大小不一样,错就错了。所以不能进行二次抽样估算得到答案,这个答案是错误的。

 

这里关键问题产生了,这个比例是错了,这个值太大了,因为这个数据级太小了。我们重新设定他们的尺寸,这样一个比例怎么进行设置?一般不知道怎么做。对于像一个黑匣子一样,在数据库里面放一些东西,用户定义的功能,就不知道它的尺寸多大,然后还有一定数量的数据点等,这也是一个问题,你必须要从理论上针对每一个黑匣子去做。更加严重的问题是,如果在现实中使用的话,如果是工程上的默认,这里有一个例子,50000个合成数字,我们还有一些计算,我们用合成的方法做,知道真正的Airbas是什么,这是我们做的结果。再强调一点,这里并没有任何二次的抽样,只需要1.5次的工作,就可以进行取样。

 

 


这里误差有一个核算,我们有合成的数据。X轴上看到的时间,运行的是二次取样,不同的取向,还有y轴上,你可以看到0.5在这个上面,这个误差是很坏的,这个蓝色的点是一个蓝色的程序,这是Bootstrap的对象,可以很快的稳定走下来。我们可以来把这个误差变成0,然后我们可以进行平均,在这个上面,并不是要达到Bootstrap,在合理的范围内,我们达到6,这个还是有问题的,然后在7、6.8,然后在绿色的线下面,他们更有效的使用我们的引导程序,引导程序的效率是很高的。它也是有一个N的融合。这个B是一个最中心的限制,我们感到很惊讶,就是在80年代论证的时候。

 

对于这些我可以看到非常好的结果,现在的0.9是这个浅绿色又出现问题了,它还重复出现,但是这个值我们还不知道,我们知道这是真实的地方,正确的价值,但是现实当中我们是无法知道的。工程师的一些方法有的时候是做不到的。

 

3.新流程的小“自助包”(Bag of little bootstraps)

 


我们还有另外一个理念 “小自助包”,我将会讨论新的步骤结合引导程序和二次抽样,并且运用他们最好的部分。同小部分的数据一起,比如说二次抽样和同样适合分布式计算平台。但是,与引导程序相同,它并不需要分析的部分,所以想到一些理念,我们的Bootstraps运行40多年了,统计学家不会有任何的程序上的担心。

 

再回到这个图片,我们还有真实性,还有数据级,还有一个Size B,进行重新的取样。现在我们注意到这个Size B的数据是来自于周围的一个步骤,他们还是间接的来自下面一个真实的情况。我们继续看我们的子集,图片看上去不太好,现在的N不是10,想一下预估值和估算值也是非常好的近似值。然后不要考虑这是否是真实的,你现在面临这样的世界,你是一个大家伙,这是你真实的情况。你可以进行抽样,基于我们的B点,它是一种分布,你可以来去抽样,按你所需要的次数,多少次都可以,只要能想到的。你把这个对象拿过来,然后你可以及时的进行抽样,现在在正确的比例值上,有合适的数据级是需要的。其中很多点会重复很多次。

 

然后我们多次的对它进行取样,在某些点可能完全不做,然后我们有B点,觉得它非常小,我们觉得它是分布式的。我们有一个非常好的叫做B取样的分子级,我不想去分析它,尽管这是一个本地的网络,但是也不会把它分散。所以每一个B点会多少次被二次取样,这些数据在什么地方,我们可以把这个放在原来的基础上,我们可以做多次的事情,再做引导程序,这样的话,我们把子取样进行引导,有一张图作为我的总结。

 

这个流程比较复杂,你把B取样的一个子样,然后放在一个数据级上,然后又替代一段时间内,你获得的值,因此上面是一个处理器,它有一个引导程序,我们为什么不用一个框进行解决问题呢?他是一个比较小的取样,它是正确的,但是有很多的噪音,我们必须要平均。所以必须需要多个框,可能需要200个处理器都执行同样的一个计算的流程。那么,他们可能都会有一个平均的错误率。

 

这是有效的,首先回到一个TB的问题,N=N的6次方,比如说我们子样数据级的大小是4GB,而再次取样的数据级别也是4GB,那么这张图和刚才那张图是一样的。就是在一个数据集上,加大计算机的利用率。如果在真正的分布式的计算环境里面做,我想应该是0.5TB,会在一个大的数据库里会发生什么呢?我们看一下引导程序,不可能进行并行化,我们使用并行计算,通过机器学习,做第一个再取样,再做一次,然后再并行计算的计算机上进行Bootstraps计算,大概15000秒的时间获得一个合理的答案,对于应用来说稍微有一点慢了。所以我们现在怎么做?我们有一个算法。对于0.5TB的数据,放到所有本地的200个处理器上,也就是说这个红点的位置,然后再取样,再做引导程序。我以前在机器学习方面,我不可能有这样的图做出来,只是20%、30%的完善。这却改变了并行计算的方式,我们可以进行非常大型的一种引导程序,我们现在可以在数据库中做,我们正在开发关系型的数据库当中。

 

五. 自上而下:凸松弛( Convex relaxations)提升统计和算法的效率

 


非常幸运,第二部分是一篇论文的内容,主要是理论化的结果。比如说这个结果的一致性,那么还有引导程序的理论,那么就像常规的引导程序一样,都会达到一些限值,是我最近做的研究,非常抽象化,这是非常新的研究,我们还没有机会做论文,因为我们这一周还在做这样的研究。所以这是一种我们所说的内容,我们看一下这个研究哪个地方是成功的。这个是从上至下的计算,统计学的利弊权衡,什么意思呢?我刚刚部分的谈到了这一点,我们对数据计算的理解,也就是说更多的数据需要更多的计算,更多的计算能力。我们如何来做?到底是并行处理?还是子样抽取等等。你给我更多的数据,我会更高兴,因为我能够获得更高的准确度,我的错误会更小,我会以更低的成本获得更正确的答案。对于统计学家来说这是好的,但是对于做计算的来说这个不大好,因为我们将这样思考这个问题。也就是说给我一些数据,那么我们有一个新的观念,叫做控制的算法弱化,比如说我的数据量不够,我可以快速的处理它。数据太多,我的处理速度会慢下来。从计算角度来说,控制的算法能够让我更快速的处理数据,也就是算法的弱化。统计学的角度来说,能够处理更多的数据,获得更好的统计学上的答案性能提高。尽管计算的预算成本不变,但是我们能够处理更多的数据,以更快的速度,我们付出的代价就是算法的弱化。

 


那么,这个坐标你们不经常看,横轴指我们取样的数量,纵轴代表的是运行时间。我们看一下到底有多少的错误。我们现在就要思考固定风险。比如说在我们错误率是0.01,这个座标的区域,对于统计学家来说,如果要固定风险的话,那么必须有一定数量的样品,才能够获得这样的结果。所以,这是一个叫做典型的预计理论,大家都非常了解。同样对于在计算机科学方面,我们有所谓的负载均衡的概念,不管你有多少个样本,但是你一定要有足够的运营时间,否则的话,你是无法解决这个问题的,这是非常明确的一点。

 




所以,我们看一下实际的算法。有一定的运行时间,有固定的风险,在右边使用的所有算法,把算法弱化,我们就可以处理更多的数据。下面我来谈一下,这就是我们所说的问题降噪,所谓降噪就是在数据方面有一些属于制造噪音的数据。我们如何做降噪?首先,我们假设可能的答案是X这样的一个分样,然后用高准确度覆盖它,所以这是一个推理预估的过程。比如说我要找到X的值,它和Y是非常相似的,这是一个自然的预估。现在X是一个非常复杂的值,我无法做,所以我要做一个凸形的值域,我要做定性,同时可以获得最优点,我需要把它放在一个可行的规模大小之内,那么也就是任何一个固定风险都是基于X的。左边是风险,我需要它的一半,这里存在复杂性,如果想知道更多的复杂性,你们可以看一些所谓理论处理方面的文献,你们可以读一下,来做这样均衡的曲线。


我们看一下相关的内容,如果你要达到一定的风险,你必须要有一定的取样点。这是一个C,也许这个C也是计算方面很难算出来的,所以我们需要做C子集的,把这个子集进行弱化,这样我们就可以更好的计算了。我们可以做分层的层级,我们称为池域,并且根据计算的复杂度进行排序的。同时,还有统计学的复杂性,然后进行一个权衡。你们可以从数学计算出这个曲线。在这里举个例子,比如说X,刚才已经有人介绍过子集是什么意思,然后你们可以定运行时间,还有取样的复杂性,然后可以算出答案。你们看一下简单的C,复杂的C,然后你们看一下运行的时间是在下降,复杂性是一个恒值,这样你的算法更简单,可以用于大数据,既不会不会增加风险,也可以在举证方面更加简化。如果是一个信号的图值,你的运行时间由PQ值决定,你们还有一个域值的话,我们会有一个恒定的取样,大家可以同时按照“列”计算,获得我们预期的准确度,而运行时间不变,大家可以自己看这些公式。

 

那么,这种分析我希望大家能够记住的是和这种理论计算科学,重点就是能够把准确度放到一个水平。因为我们要去关心有关质量方面、统计学方面的风险,计算科学方面的算法能够帮助我们解决比较大的问题,就是大数据带来的大问题。同时,我们还有很多的数据理论可以适用,我们不要从统计学简单的角度来考虑,而是从计算的角度考虑。

 

六.结论

 

 

那么,到这里差不多就要结束我的内容了,下面我们来看结论。我们希望大家能够记住,我们在去开发这些计算体系时,不管是软件、计算,其实都是在谈大数据分析的概念性,什么时候出现问题,我们如何达到高准确度,这只是这个问题的开始。其实作为一个计算科学家,我们经常会遇到很多的问题,有些是统计学方面的问题,但是我们没有联合统计学家一起考虑和解决这些问题。因此,我知道我刚才讲的非常技术性,也许你们还要去学一些统计学方面的基本理论,当然如果你们是学统计学的话,你们也要参加计算机科学的课程。对于两门都学的人,你们应该把这两个学科放到一起思考,不是统计学家只考虑统计学,计算机科学家只考虑计算机方面,我们需要解决统计学方面的风险。因此,我们可以更好的处理十万个采样点,都不会遇到问题。

 

实际上,在教授学生做这些的时候,我们还不是做得很好,我们有各种各样的课程,我觉得你们可以自选一些课程。如果你们是计算机科学方面的学生,你们也可以上一些统计学方面的内容,我们可以融合起来,这才是我们的未来。谢谢!

 

 

相关阅读:

里克·雷斯特在“21世纪的计算大会”上的主题演讲:微软研究院和计算的演变

John Hopcroft在“21世纪的计算大会”上的主题演讲:计算机科学的新方向

Jeannette Wing在“21世纪的计算大会”上的主题演讲:人机间的信任理论

 

_________________________________________________________________________________

 

欢迎关注

微软亚洲研究院人人网主页: http:// page.renren.com/600674137

微软亚洲研究院微博: http://t.sina.com.cn/ msra

 

 

相关阅读:

里克·雷斯特在“21世纪的计算大会”上的主题演讲:微软研究院和计算的演变

John Hopcroft在"21世纪的计算大会"上的主题演讲:"计算机科学的新方向"

Jeannette Wing在"21世纪的计算大会"上的主题演讲:"人机间的信任理论"

 

 

 


  青春就应该这样绽放   游戏测试:三国时期谁是你最好的兄弟!!   你不得不信的星座秘密

相关 [michael jordan 世纪] 推荐:

Michael Jordan在“21世纪的计算大会”上的主题演讲:大数据的分治和统计推断

- - 微软亚洲研究院
演讲人:Michael Jordan博士. 美国加州大学伯克利分校电气工程与计算机系、统计学系教授.         美国科学院(NAS)、美国工程院(NAE)、美国文理科学院(AAAS)院士. 演讲标题:Divide-and-Conquer and Statistical Inference for Big Data.

摄影师 Michael Schlegel – ICELAND II

- fluffyjay - 60designwebpick
唯美,如梦境一般的黑白摄影,来自出生于1987年的德国摄影师 Michael Schlegel. © 60 for 60designwebpick | 新鲜视觉, 2011/04/182011. 文章分类:Photography | 文章标签: B&W, Dreamland, Germany, Photographer.

Michael S. Hart去世了

- Alex Yu - 阮一峰的网络日志
早上起床看到讣告,古登堡计划宣布,创始人Michael S. Hart(1947-2011)去世. 古登堡计划是世界上最早的电子书网站,全部由志愿者维护,主要提供公共领域的文史作品下载,完全免费. 目前,藏书量约为36000种,囊括20世纪之前的主要英语文学作品. 那一年的7月4日,美国国庆日,24岁的Hart像往常一样,去伊利诺斯大学的机房上班.

一张报价单 | Michael Stevenson's Blog

- 彧 - 牛博山寨 编辑推荐
这张报价单据说是东方某大国给北非某著名上校的,不过apparently上校现在是用不着了,因此就大剌剌的出现在了网络上,本着学习研究、共同进步的精神,迈克老男将其翻译成中文,以便墙内的童鞋们围观、评论. 以下就是中文翻译,按照图中条目从上到下:. ) S14-S16合计49494500(欧元).

电子书之父Michael S. Hart去世

- 夕 - cnBeta.COM
早上起床看到讣告,古登堡计划宣布,创始人Michael S. Hart(1947-2011)去世. 古登堡计划是世界上最早的电子书网站,全部由志愿者维护,主要提供公共领域的文史作品下载,完全免费. 目前,藏书量约为36000种,囊括20世纪之前的主要英语文学作品.

超強的裝置藝術創作 – Michael Johansson

- bbiy - KAIAK.TW | 城市美學的新態度
來自瑞典的裝置藝術家 Michael Johansson 一定超擅長收納物品的啦. 他的作品全都是將我們身邊可見的東西收納整合在一個限定的空間當中,如果是同一色系的還真的讓人分不清楚到底由多少元件所組成的. 其中收集了他在 2009 年完成的一個聖誕節裝置藝術作品,也是以類似的手法完成一棵聖誕樹喔.

Michael Arrington 離開 TechCrunch : “It’s No Longer A Good Situation For Me To Stay”

- 豬小草 - Mr./Ms. Days (MMDays) - 網路, 資訊, 觀察, 生活
Michael Arrington :身上衣服寫著:無給薪部落客. 如同前一篇所說,今天我人在 TechCrunch Disrupt 現場. 彷彿大家心理都有預感:Michael Arrington 可能會出來說話,而他也一如預料… 上台說了這句:”It’s No Longer A Good Situation For Me To Stay.

古滕堡项目创始人Michael Hart去世,终年64岁

- Fenng - Solidot
古滕堡项目创始人、电子书发明者Michael S. Hart于2011年9月6日在伊利诺伊州厄巴纳市的家中去世,终年64岁. Michael Hart出生于1947年3月8日,父亲是会计师,母亲在二次大战期间是密码分析专家,后来分别在学院执教莎士比亚研究和数学教育. 他最为人熟知的事情是发明了电子书eBook,成立了时间最早、持续时间最长的在线图书馆项目古滕堡.

Michael Abrash:我是如何加入Valve公司的

- - 博客 - 伯乐在线
译注:本文的作者是Michael Abrash(迈克尔·亚伯拉什),他是计算机图形领域首屈一指的大师. 他是著名的计算机图形编程书籍《 Graphics Programming Black Book》的作者,同时也是一位拥有高超编程技巧的开发者. Michale Abrash的职业经历非常丰富,他所效力过的公司包括微软、Id Software、Intel等,参与过的项目涉及操作系统开发、游戏开发、人工智能项目、处理器设计项目等多个领域,同时他当然也是一位杰出的软件顾问和技术专栏作者.

Michael Kai奇特的视觉错觉摄影:This Side Up

- Ahlon - 独角兽资讯
澳洲设计师Michael Kai独具匠心地用摄影作品来展示传统中主要以绘画来表现的视觉错觉效果. 这组名为“This Side Up”的视觉错觉摄影照片,看得人眼花缭乱,甚至心惊肉跳. 真实的游泳池有这样的效果就太养眼了,但是只在美女游泳时出现. 链接:http://www.unicornblog.cn/user1/unicornblog/28633.html.