写这篇文章是心血来潮,纯属自己的随笔和见解,若其中有不准确的说法,请留言评论告诉我。
我也是一名初学者。说实话初期,我曾百度大量教程,各种介绍,各种学习路线。试图解答心中的疑问:
到底机器学习的本质是什么?
我们该抱着怎样的思想去学习?
我一直不愿把机器学习单纯的等同于机械的“学习算法,应用算法”。
不可否认,算法的确是重中之重。但是我们不应该一上来就建立“往死里学算法就能搞好机器学习”的想法。
下面我来简单叙述我自己的理解与看法:
首先我们知道,人类是这个世界上学习能力最强的,但是不可否认,人类的大脑还并不是完美的,我们会忘、会厌烦、我们速度慢、我们在同一时间能顾虑的事情有限…
通过一个表格来看
机器 | 人类 | |
---|---|---|
学习能力 | 弱 | 强 |
学习速度 | 快 | 慢 |
记忆能力 | 强(不会遗忘) | 弱(会遗忘) |
是否会产生厌倦情绪 | 不会 | 会 |
通过对比我们可以知道,机器就像是一个天生愚笨,但无比听话的孩子。但这时候很多人就会问,机器是冰冷的,无感情的,到底如何才能让他称得上学习呢?我们刚出生时不也是什么也不会吗,我们又是如何学习的呢?
———————————————————————————————————
在学生时代,人人都不会陌生的一个词语“刷题”
在考试中,作业中,我们总会见到一些不会的题,面对他们,我们毫无办法,不知所措,即便我们的大脑中有数百亿神经元都在努力…因为还没有这类题的“解答办法数据”。
所以我们刷题,学习并记忆如何做,我们的大脑中建立新的神经元,因此我们再次遇到时,即使变了样子,我们依然可以根据已有的经验,综合分析,问题便游刃而解。
于是我们用同样的方法来训练机器,因为,通过上面表格的对比:计算机可以忍受一直重复刷一类题,数千道,数万道,无穷无尽,并且速度很快,并且它可以做到每个都清晰的记忆,还可以根据其中的特征来总结分类(当然这里就需要用到算法来实现)
所以从某种意义上讲,他们的学习能力似乎还强过我们。。但是他却不知道自己有如此的能力,需要我们来教他怎么做。
下面我引入一个我看过的很简单却很不错的例子,来说明,我们该如何做(我们应该抱有怎样的观念,来教机器如何学习)
———————————————————————————————————
查看下图,该图显示了测得的花园虫子的宽度和长度。
毛毛虫又细又长,而瓢虫又宽又短。
例 | 宽度 | 长度 | 虫子 |
---|---|---|---|
1 | 3.0 | 1.0 | 瓢虫 |
2 | 1.0 | 3.0 | 毛虫 |
我们想要使用一条直线来分割区域
y = A x
我们使用以上两个训练数据(刷这两个题)
我们的机器就像一个初生的婴儿,什么都不会,因此他随意选择了A=0.25
显然十分不合适
y=(0.25)∗(3.0)=0.75。显然有着0.25的误差,这时候我们就该上场了,我们教给机器如何修正(通过算法来教他修正)
有一点数学基础的朋友都能知道,我们需要增大斜率
ΔA= 误差 / x
但是显然,我们应该让线高过一点,而不是正好卡在点上
第一个数据使用后(第一道题刷完了!)
我们使用第二个数据,进行第二次训练
可以看到,直线的变化太大了,现在计算机被数据牵着鼻子走,完全没有做到“学习的效果”。如果我们继续这样做,为每个训练数据示例进行更新,我们得到的就是最终更新仅与最后一个训练示例紧密匹配。实际上,我们抛弃了以前的培训示例可能给我们带来的任何学习,而只是从最后一个学习中学习。
我们要教会他,综合学习每个刷过的“题”,要活学活用。这是机器学习中的重要思想,我们采取的变化Δ的一小部分一不是全部。这样,我们朝训练示例所建议的方向移动,但要谨慎一些,保持一些先前的值,该值是通过可能的许多先前的训练迭代得出的。
ΔA = L (误差/ x)
我们引入新的参数,调节系数L,通常被称为学习率,让我们选择L = 0.5作为开始。这只是意味着我们只综合每道题一半的内容。由此经过两次变化,得到如下直线:
图中斜率为1.6042的直线,是不是很棒。我们成功教会了机器如何学习!
这时候或许你会说“搞这么麻烦,我一眼就能看出来那条直线应该画在哪,我直接输入给机器不就行了吗?”
可是请仔细想一想,在你的学习过程中,老师从来都是讲题,讲过程,讲方法。而不是直接把答案甩给你,直接给你答案,你最终必然是什么也不会。
经过成功训练的计算机在数据处理方面的能力远远强过人类。这就好比说老师自己不能上清华北大,而老师却可以教出上清华北大的孩子。
———————————————————————————————————
我希望迷茫中的小白读完此文章能够眼前一亮,领悟机器学习的核心思想,不要被算法所吓怕,算法是机器去运行的,我们只需要帮他选择一种就好。
本来以为半小时敲完的文章,搞了一个半小时。。。。困死了,大家晚安。
喜欢的留个赞哦!!!!