凶悍的大灰狼吧 关注:3贴子:141
  • 4回复贴,共1

机器学习与传统程序的最本质的区别

只看楼主收藏回复

一、程序设计的背景:
我们进行传统程序的在设计时,是基于逻辑关系进行设计的。
比如我们写程序的时候,会写“如果xxx,那么xxx”,“因为xx,所以xx”等等一系列业务逻辑,通过这些逻辑组成了我们的程序产品。
软件程序的这种设计理念,是跟我们这些受到系统化教育的设计人员,都被教育成“世界万物之间,一定有其内在规律,有其因果逻辑”的世界观和方法论,那么我们的程序设计时,自然会遵循这种世界观和方法论。
所以,设计出来的程序,就是程序程序,过程有序。如何有序,那就是要讲各种因果逻辑关系和方法论。


IP属地:广东1楼2018-01-17 15:09回复
    二、程序设计的不足
    程序设计的是基于因果逻辑而进行的,有因就有果,那么过程的最终结果,不管是多少,最终是固定的。
    但是我们***常行为,却很难通过这种简单的因果关系进行逻辑判断。
    因为世界太庞大,世界太复杂,世界还很多的未知。想用通过简单的因果逻辑,就模拟复杂的世界,属于纯属痴心妄想。
    所以,在人工智能领域,历史上试图通过程序设计这种方式来解决问题的,都失败了。


    IP属地:广东2楼2018-01-17 15:18
    回复
      二、机器学习
      回忆一下,我们在儿童阶段,解决日常问题的能力是如何出现的?
      是父母的家庭教育、老师的学校教育、以及社会中的实践教育过程中,我们不断通过“学习-训练-反馈”的循环过程,得到了新的能力。
      我们的这种学习过程,是一种自我学习过程,并不问其原因,而是基于经验反馈的方式:
      “我先这样做,看看怎么样?我这样做,结果不行啊,我以后不能这样做”;
      “我那样做,看看怎么样?我那样做,结果可以啊!我以后就这么做”;
      我们的这种学习过程,还是一种外部学习过程,同样并不问原因,而是基于概率统计的方式:
      “大多数人这样做,都行,那么我也这样做”;
      “大多数人这样做,都不行,那么我也不能这样做”;
      这就是机器学习的基本出发点,基于“概率统计”和“经验反馈”是机器学习,与传统的程序设计基于“因果逻辑”的最大的不同点。


      IP属地:广东3楼2018-01-17 15:34
      回复
        四、机器学习
        机器学习的过程
        1、对当前大量的数据,先通过“概率统计”总结出一种待验证的方法,比如通过聚类算法,得出一种简单的逻辑猜测;
        2、对后面的大量数据,使用这个猜测的逻辑,然后与数据结果进行比对,如果绝大多数都正确,那么这个逻辑就作为经验沉淀下来,否则就作为错误的方法废弃;
        在新数据源源不断的输入,不断使用上面的过程进行,新的总结/验证。那么,这个经验总结就会不断的被数据修正,不断的趋向正确,不断的强化下来。
        基于概率、基于反馈、基于总结,这是机器学习这种经验主义最大的特点,也是与传统程序设计这种基于因果关系的方法论,最大的不同点。
        简单的说,就是经验总结 VS 因果逻辑。


        IP属地:广东4楼2018-01-17 15:51
        收起回复