1. 思维总是会不自觉地开始活跃起来,于是把他记下,漫谈在于随性,如同随笔一般,记录下的是自己的思维过程。不成熟却让人满心欢喜的想要与人分享。
  2. 最近几年以来,最热门的除了炒房,莫过于人工智能的话题了,任何人总想扯点AI的东西。自从AlphaGo,中文名叫阿尔法狗,这条狗在围棋上大杀四方,击败李世石、柯杰之后,大家都在关注其背后的人工智能技术,叫强化学习的东西,这其实是人工智能的一个分支机器学习中的一种方法。反正最近你不知道点AI、机器学习,你都不好意思和别人打招呼….想起第一次接触机器学习还是在求学的阶段,各种数学、统计学的东西确实让我搞得焦头烂额,并没有完全的认识到其实用性,学生时代的平凡之人,对学习对自我也就这么一点认识了,只是觉得挺有意思的,不过现在看看,在生活工作中都是有用的,主要是其思想让人受益匪浅。
  3. 很久以前,人类就对于这个世界的各种现象、各种生物的特征都有着浓厚的兴趣,希望有一天能够为自己所用。我们看到鸟儿飞,想要自己也要飞,但是发现直接装个翅膀好像不行,听说一个常识的人,从山上跳了下来,甩了几下翅膀,然后就一命呜呼了。后来我们发明了空气动力学,从另一个角度来实现。建立了一套完全不同的模型来解释、实现它。机器学习也是类似,我们想机器那么笨,只知道做我们设定的事,那要是机器像我们人一样可以学习,那岂不是就解决问题了。当然,这不是模拟个人的脑子就能解决的,这就好像是给人插个翅膀一样的没有意义,所以我们试着建立一套如同空气动力学的模型理论来解决这个问题。
  4. 机器学习就是在寻找一种数学模型,然后让这种模型能够符合它所要描述的对象。比如我们从另一个角度,想要寻找一种符合太阳系行星运行的天体运动模型,那么现在我们已经知道了这个模型是开普勒-牛顿模型:太阳系中所有的行星和彗星围绕着靠近太阳的重心做椭圆运动。这个模型需要各种参数,比如运动速度、周期、半径等等,为了得到这些参数,就需要通过分析观察到的历史数据来得出。开普勒用了一辈子来分析这些数据从而得出一个准确模型来符合所观察到的真实情况。在数据量足够大的情况下,最后一定会接近于预期的值(模型),这其实也是符合大数定理的。机器学习的核心就是自动的去找到这个准确模型的参数!!mod
  5. 机器学习也是通过不断的尝试,只要在数据量足够大的情况下,那么所要训练的模型也会达到最优。
  6. 这样我们可以看到,要实现这些,作为工程师需要更加关注的,我们需要大数据的处理、模型的实现,如何把这些事情做好做精?是我们一个努力的方向。当然,路漫漫啊,fight~~

所谓机器学习(Machine Learning)

  1. 机器学习作为热门的技术还是要好好学习的,所谓进可糊口,退可装逼~~
  2. 机器学习最基本有两种学习方式:一个叫有监督学习,一个叫无监督学习。它是根据使用的数据来区分的。<br />如果使用的是杂乱无章的数据,从中学习出一个模型,这是无监督学习,但反过来,如果使用有规律的数据,那么这个就是有监督的学习。比如我们拍摄了很多人都头像,不告诉计算机任何东西,然后让计算机学习,这是无监督学习。如果我们标记出每个头像是什么性别、肤色等等信息,再让计算机学习,那么这就是有监督学习。当然这两种方式各有千秋了。在举一个抽象的例子,如果我们想要训练机器获得一个函数,y = wx + b, 如果提供的数据有x的值也有y的值,那么这就是有监督学习,如果只有x的值,那么这就是无监督学习。<br /> 无监督学习可以很容易的获取大量的数据,但是由于没有人工的标注,计算机是在自己找方向,所以很有可能得出的模型不够准确。<br /> 有监督的学习就是相当于给计算机指明一个方向,也就是有了一个人类老师,但是这种人工标记的数据其实是有限的。要知道很多大公司都会有一个叫数据打标师的职业,他们的任务就是给特定的数据打标(比如图片、视频等等),为了能够有更准确的数据,训练出更加准确的模型。不过这个成本很高,到了一定的阶段也是有瓶颈的,无法再提高了。<br />通过这两种方式,我们可以计算出一个模型,通过这个模型,我们可以预测其他对象在这个模型上的一个契合度。<br />所以难点就在于两点,一个是寻找一个合适的模型,另一个是计算这个模型合适的参数。第一个就是我们常说的算法,第二个更偏重于工程。<br /> 如何找出一个契合的模型,如何快速有效的计算出模型参数。形成一个完整的模型,这个过程确实是十分的困难,不仅仅需要耐心,不断的试错更改,而且,在我看来,聪明才智也比不可少,如果想要找出一个很完善的模型。
  3. 强化学习给我的感觉是介于有监督学习和无监督学习之间。在强化学习中数据不会做特意的标记,而是让机器如无监督学习一样的学习数据,然后通过设置一个评价函数,这个函数是用来告诉机器它学的怎么样、学得好不好?如果好就继续学习,如果不好就微调矫正继续往复。
  4. 阿尔法狗应该也就是使用这种原理的机器学习方法,阿尔法狗难于评价模型的构建,必然有一个目标,也就是胜率对于阿尔法狗来说这个就是目标,可是在学习的过程中必须要有一个评价标准来告诉它哪一步的胜率更高,从而它不断的优化自己。对于这个评价模型,我是猜不到,貌似网上也查不到,也罢,可能deepmind还没有开源的想法,以后再看吧。
  5. 如何找出好的特征(或是让机器自己找),正确的模型,好的训练算法,好的目标函数,设置正确的优化算法,这些都是需要我们考虑的?虽然现在已经有很多现成的算法了,拿来即用即可,但是毕竟还有很多的未知等着我们,必然还有很多未知的算法在等值我们去发现。
  6. 神经网络应该是最近比较火的一种算法模型了。<br /> 首先我们得要有一个函数,比如如一个最简单的线性函数,f(x) = a + bx, ab是常数,也就是我们需要通过计算迭代得出的。任何函数都是可以使用神经网络拟合出来的,神经网络本身是一种模型,这种模型更加的通用,通过它我们可以拟合各种不同的函数。<br /> 然后得有一个代价函数,用来评估我们假设函数的误差大小,也就是代价的大小。比如像梯度下降算法,反向传播算法等等。通过这些算法来不断的逼近最优值。<br />最后一步通过已知的数据,不断的迭代计算、验证,直到尽可能的误差最小。<br />神经网路这种统一的计算模型,让我们可以方便的实现许多的事情,这也是为什么Google第二代大脑,就是在神经网络这个模型建立的。因为更加的统一、稳定、通用等等,作为一个商业公司不可能使用一个过几年就淘汰的东西。<br />所以好好学习这个东西还是会带来许多的思路的。
  7. 什么卷积神经网络,循环神经网络,递归神经网络,看着一个个复杂的数学公式,这几个神经网络一个比一个复杂,看完之后确实会让人会有那么一些心灰意冷,爆出一句:什么东西?!来,不过所谓只要功夫深,铁杵磨成针。坚持有时比聪明要重要。况且作为一个工程师,理论是一方面,更重要的是工程实践,就是用这些已有的算法工具来解决现实的问题,提高效率,我的观点是作为工程师,应用更加重要,不过没有理论的加持的话也是不稳固的。
  8. 刚刚蜻蜓点水式的接触,更多的是感兴趣,可是当一个个公式的推导出现的时候,向量、张量、矩阵的积分微分等运算出现的时候,就突然安慰自己,我是一个工程师,我只要会用就可以了,哈哈。可是真的是这样吗?我也会怀疑自己的判断。不过对于现在的自己来说先去搞懂这么一些概念,然后了解每个算法的应用,可能会是更加重要的课题。不过如果是为了最求技术的核心、真正的核心,那么这些东西都是不可或缺的,也是无法逃避的。
  9. 还是那句话,路漫漫,不过可能坚持比聪明会更加重要吧。

无责任瞎掰

  1. 机器学习这么大的一个主题,并非是一篇文章,一本书能够讲透的,一切都只是入门而已,所以不太相信什么简易教程啊什么的,或许有启发,但是我觉得学习是不断思考,记下,分享,反馈,在学习不断的反复,就如同机器学习一样。只是人类的学习是有意识的是更有创造力的,厚积才能有更加深入的想法和思维。共勉之。
  2. 机器学习是学习找到一个合适模型,我又在想模型是什么?突然想起来以前的一位数学老师说过,数学模型是对现实的数学抽象。我们使用的任何工具、任何理论都是对于现实的一种抽象。千百年以来,很多的各种家都希望自己能够找到一个公式也好、理论也罢希望能够描述这个世界。后来发现这几乎不太可能,因为这个世界是如此的复杂和精妙,所以我们发明发现了很多不同的公式理论来应对不同的场景。
  3. 当阿尔法狗在围棋上独孤求败的时候,我们可能没那么需要担心人工智能有一天会统治人类。在我看来现在的人工智能更多的是一种工具的感觉,只是它更加高效,所以到时一些古老的工具都要淘汰。对于人类是好事还是坏事,这就不好说了,因为每个人的追求不同,机器带来的革命对于某些人是福音,对某些人可能就是毁灭。
  4. 我们可能追求每个人心中幸福,人工智能是否可以帮到我们,我持保留态度。它可以让我们的世界运转更有效率是毋庸置疑的。至于人的幸福是动态变化的,这个嘛,可能得靠自己了。
  5. 所以这就很有意思了,无知的时候让人兴奋,因为还能求知,不是吗?

参考文献 :

Introduction to Machine Learning
吴军博士的杂谈
各种网络文章