淘客熙熙

主题:【原创】机器学习的基础是什么?(0) -- 看树的老鼠

共:💬154 🌺509 🌵1
分页树展主题 · 全看首页 上页
/ 11
下页 末页
        • 家园 我们不知道我们所不知道的事物

          这是一句美国前副总统切尼说过的名言,现在经常被人提起。

          这个火鸡的故事说的道理是,没有存在与环境之外的智能,换句话说,智能也是物质世界的一部分。火鸡接触不到人的生活世界,得到的信息只有火鸡笼子那么大的范围,因此最高的智能也只是对喂食的观察。

          而机器学习的意义也不仅于机器的精确上,同时还有可以发现人不能发现的因因果果关系。但是受限于接受的数据,如果只是火鸡笼这个范围,那么自然也是不会理解为什么人会喂食的原因了。

          机器智能超越人的智能的一个最可能方向,就是在于机器可以处理的数据量可以比人脑大得多,现在比人脑不如的地方是在分析能力上,就是这个找出因因果果的能力上。这个与电脑产生的目的本身有关系,电脑的出现原来并不是设计成类似人脑的操作模式,而是本质上的一个大号计算器。

        • 家园 您这个经典的问题其实就暗含了哲学上著名的"休谟问题"
    • 家园 机器学习的基础是什么?(1) 线性分类器

      (1)

      在机器学习领域有一个著名的数据集,叫做Olivetti Faces。是AT&T剑桥实验室在1992年做的。找了40个人,每个人有一个编号,然后每个人拍了10张照片。

      具体的学习任务呢,就是把数据集分成两半,保证训练集中每个人都有7张照片和人的编号,测试集中有另外3张照片。机器能看到训练集,学完之后呢,就去测试集上,猜每张照片对应的编号。

      训练数据大概是:

      点看全图

      外链图片需谨慎,可能会被源头改

      测试数据大概是:

      点看全图

      外链图片需谨慎,可能会被源头改

      表情很不一样,对不对?

      我想告诉大家,最简单的线性分类算法也能把这个问题解决的很好。请看下面的图像。纵轴是真实的编号,横轴是机器猜出来的编号。对角线上的颜色,表示猜对的次数,其他位置的颜色,表示猜错的次数。越靠近红色,次数越多,越靠近蓝色,次数越少。整个图中,除了对角线上,基本都是蓝色,这充分说明,线性分类算法做的不错。

      点看全图

      外链图片需谨慎,可能会被源头改

      有一个帅哥被机器当成是上面的美女了:

      点看全图

      外链图片需谨慎,可能会被源头改

      很神奇,不是吗?可是后面的算法很简单。

      就是一个线性分类器。原理是:每个图像都由4096个像素点构成,每个像素点的颜色是一个数字。这样,每个人脸就是一个4096维的向量。我们就把这些向量放到4096维的向量空间中去,然后画直线,找到一些直线,能够把每个人的八张照片和其他人的所有照片分开,就像下图中的红线一样。在测试的时候呢,对于每一幅图片,就看看它落在直线的左边还是右边(当然在高维空间中,没有左边右边这个概念,这里只是为了方便起见)

      点看全图

      外链图片需谨慎,可能会被源头改

      我一点也不喜欢这个算法,因为我不相信人脑是这样工作的。

      如果教科书上用这样的句式对我说:“xxxx年,在经过艰苦卓绝的工作后,顿牛先生露出了满意的微笑。他发现人脑在学习和思考的时候,使用的是线性分类器。”

      那么,我对这个算法的接受程度也许会高一点。

      这就是我思考的起点,我希望教科书斩钉截铁的告诉我一些事情。让我可以充满自豪感的使用公理、定理、定律。

      • 家园 很好的营养贴

        每个图像都由4096个像素点构成,每个像素点的颜色是一个数字。

        一个数字代表一个点的颜色。

        如果同一个人的照片,彩色的还原度,黑白的曝光量不同的话,怎样判别?

        • 家园 要做颜色亮度光照的归一化的

          不然理论上也不能比较啊

        • 家园 这就是为什么图像处理不能使用原始象素点做特征

          在我这个例子中使用了原始像素点作特征.但是这种方法,一旦涉及还原度、曝光量这种问题就会一塌糊涂。

          通常图像都要预处理的,比如做边界识别、去除噪声。

          我不太熟悉图像识别领域,也许还有专门处理曝光和还原的过程。

      • 家园 可不可以讲讲学习啥?我看了上面七张照片,可还是对另三张

        可不可以讲讲学习啥?我看了上面七张照片,可还是对另三张一头雾水,不知道怎么猜这些编号,这算不算学习的最初状态啊?

        • 家园 那七张照片都是同一个人,比如叫alice

          训练集中,每个人都有七张照片。

          第一个人叫bob,有七张照片

          第二个人叫alice,有我们文章中所看到的七张照片。

          机器能够看到这些照片和名字。

          然后,从测试集中随便拿一张新照片出来,假设是alice的三张新照片之一,机器如果能猜出这是alice,那就对了。如果猜成是bob,那就错了。

          如果给机器一张bob的照片,它猜成是alice,那也算错了。

          你是不是不太明白,机器是怎么学出来的?如果有兴趣,我可以再写一篇。

          • 家园 原来如此,对脸盲的人,恐怕也是一大难题呢,更别说对机器了

            我也很想知道机器是怎么猜出来的,期待更多内容。

            • 家园 本质上是构造个函数吧

              a=f(x),使得当x=alice时a>0,当x!=alice时a<0

              再把f(x)线性化=b0+b1*x+b2*x*x+b3*x*x*x

              剩下的就是线性优化,求出b0,b1,b2,最简单的就是最小二乘法

              不过大脑显然不是这么工作的。。。

              • 家园 他们试图做的的确是构造一个函数

                但是,现在人能够构造的函数,恐怕都很简单,不足以解决复杂问题。

                真正复杂的函数,恐怕很难构造,特别是人为构造,即用现有的数学工具来构造。除开多项式等,我们还有什么东西呢?没有了。而且函数那么多,至少有很多是图灵机做不出来的,怎么构造?

                但是人脑是怎么工作的呢?其实恐怕并不特别复杂,但是我们就是还没有达到全面懂得的地步。

                • 家园 非线性方程没啥好办法解

                  绝大部分只能用线性方程做近似而已。

                  一个两个容易点,要是有一堆非线性方程就彻底傻眼了。

                  生物体里有大量非线性的现象,所以。。。

                  大家往往喜欢把生物想得很简单,比如20年前大家以为知道DNA编码以后,癌症啊,艾滋病啊就解决了,结果现在一看,知道这些还是搞不懂。。。

                  弄清人脑,远着呢

                  • 家园 宇宙为什么是简单的?

                    宇宙为什么是简单的?

                    本质上确实是构造一个函数.

                    我觉得机器学习有两个挑战。这两个挑战都不是机器学习特有的,而是学习,或者说人类智慧所特有的局限。

                    先看第一个挑战。为什么宇宙是可理解的?

                    想象有一个上帝,这个上帝的特点是什么呢?无穷大的计算能力、无穷大的感知能力、感知所有过去未来与所有位置的信息。

                    那么,上帝理解这个宇宙根本不需要任何函数。

                    这有点像今天大数据时代的某些机器学习算法,即简单的记忆。如果我们预先给一台机器从1到1亿的所有数字对的加法结构,那么人很可能根本就不会发现这台机器根本对于加法没有任何“理解”。

                    在上面,我给理解加了引号。因为什么是“理解”,似乎只有人才能说清楚。

                    爱因斯坦说,这个宇宙最难以理解的,就是它竟然是可以理解的。听起来真的很不可思议。

                    不过我想给“理解”加一个见仁见智的定义。那就是假设我们有1M的数据,如果我们能用小于等于1M的方法来存储这些数据,我觉得这就是某种程度的理解了。如果我们把数据分成两部分,一部分是输入,一部分是输出,假设在给定输入的时候,我们可以极大地压缩输出。那么这更像是一种理解了。

                    如果这么说,这个宇宙是可以理解的,似乎也不那么神奇。如果我们生活在一个不可理解的宇宙中,那等于是说,这个宇宙的信息量完全不可压缩。

                    第二个挑战也很有趣,就是为什么宇宙是简单可理解的?

                    为什么今天的机器学习都focus在简单的函数类呢,最基本的当然就是线性函数类了。

                    我觉得这是爱因斯坦那句名言的第二重解释了。生活在一个有冗余信息的宇宙,似乎并不令人惊奇。但是生活在一个简单的宇宙中就比较神奇了。

                    什么叫做简单呢?

                    从人脑的层面来讲,人脑比起整个宇宙来说算不上复杂。所以,第一种简单的定义就是:模拟人脑的结构。人脑可以模拟什么样的函数,我们就使用什么样的函数类。这也是神经网络的发展方向。

                    从数学的层面来讲,人类现在能够发现的所有函数都算是简单函数。所以,另一种简单的定义就是:使用人类现在发现的函数。当然,其中最简单的就是线性函数了。

                    想象一下,宇宙的冗余性竟然达到了这样一个程度,仅仅使用微不足道的原子(人脑这么多的原子),竟然可以在某种程度上理解宇宙。这的确令人感到不可思议。

                    总的来说,机器学习就是在抄袭人脑的思考方式。

                    首先,假设宇宙是可理解的、可压缩的,局部观察得出的结论可以推广到更广的范围与更长的时间中去。

                    其次,假设宇宙是简单可理解的。

                    现在机器学习的优点是:可以以简单的函数为基础不断的叠加出人直接用逻辑无法发现的复杂函数。所以就算大家集中在简单线性函数上,我觉得也算是一种进步了。

                    缺点呢,是能够允许的函数类,从某种意义上还不如人脑已经发现的函数复杂。

                    不过呢,只从复杂性的角度看,以后机器智能必然会超过人类的,因为它能够使用的原子数一定会超过人脑。现在机器比较傻,只是它使用原子的方式太不经济了。

                    这里,我尽情的胡扯一下,完全没有任何依据。整个宇宙的信息量确实无穷无尽。但是是否信息有不同的强度和适用范围?

                    人类虽然没有能力理解整个宇宙的信息,但是有能力理解极其微小的某个时刻产生的有限信息。假设引力产生于宇宙诞生之初某个极其微小的时刻,它本身的信息量并不大。所以人类可以理解。因为它诞生的足够早,所以任何后续的信息都无法决定性的修改引力的行为,所以看起来引力符合一个非常简单的规则。因为它诞生的足够早,所以它随着宇宙的扩张而复制到整个宇宙。所以,越基础的定理,反而越容易理解、规则越简单、适用范围越宏大。而预测我今天晚上吃什么,反而没有一个简单的规则。

                    通宝推:回旋镖,北纬42度,

                    本帖一共被 1 帖 引用 (帖内工具实现)
                    • 家园 我的看法,宇宙是简单的,但又是非常复杂的

                      的确,正如爱因斯坦很深刻地看到的:“这个宇宙最难以理解的,就是它竟然是可以理解的”。我来对这个思想做一些解释。我们都知道,人类做科学研究,其实仅是就可以接触的范围做一种近似和模拟,然后从有限经验中揣测出一些公式。事实上,的确就是这么一回事。但是,令人非常吃惊的是,这种在小范围中间搞出来的东西,竟然适合非常巨大的时空。从牛顿力学起,一步一步,麦克斯韦,原子物理,量子物理,宇宙学,都是这样,在小范围内部搞出来的公式,竟然可以在非常巨大的时空中相当精确地再现出来。一个非常典型的例子就是现在的量子通讯。如果谁人对此不感到吃惊和难以理解,他恐怕就缺乏基本的科学敏感性。

                      按照我们对于通常复杂事物的理解,其实应该是这样的,我们搞出的那些物理公式等,仅应该在一个比较局限的范围内有效,超过了这个范围,就无效了。其实,这正是除开物理的其他大多数科学学科的境况。有没有什么医疗公式,写出来,就可以古今中外通吃?

                      这样理解,爱因斯坦的疑惑就清楚了,他是在深刻思考,为什么物理世界容许如此?道理何在?

                      但是,就我看来,其实事情正该如此。用一句话可以概括我的想法:事物的基础运动规则应该是简单的,但是世界是规律的反反复复和重重叠叠的实现,因此复杂性就逐渐积累了起来。

                      因此,爱因斯坦说那句话的时候,他恐怕是想说:是不是物理真的就是最基础的运动规则,只有如此才能解释为什么可以做那样深远的时空的推演而不面临规律破裂,但是,谁又真的知道什么是最基础的规则呢?那么,最基础的规则就一定是简单的,美的,不是统计规则的。

                      在我们看来,恐怕就不要想太多了,我们就接受物理的确是最基础的运动规则,因此可以做最深远广大的推论,也最简单,几个公式可以全宇宙普适。但是,接下来的世界,就不简单了,特别是生物世界,那是物理规则不知反复用了多少次,在历史中重重叠叠中过来的,自然就超级复杂了。

                      而人脑,就是这个复杂世界的顶端产物。

                      至于机器学习,那还太早。现有的机器学习全是建立在数学模型上的,而数学模型必然是简单的,这是相当于生物世界来说的。只有在机器从图灵机进化到类脑计算,其原理可以和生物世界比拟的时候,其复杂性才有可能提升到足够的程度。


                      本帖一共被 1 帖 引用 (帖内工具实现)
分页树展主题 · 全看首页 上页
/ 11
下页 末页


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河