关于机器学习,百度上一搜一大摞,总之各有各的优劣,有的非常专业,有的看的似懂非懂。我作为一名机器学习的门外汉,为了看懂这些公式和名词真的花了不少时间,还因此去着重学了高数。
不过如果不去看公式,而只去理解机器学习要干的事情,那么就比较容易看懂如何去理解那些公式和专有名词了,下面我以我的一些拙见来理解一下机器学习(全程无公式,只有理解)。
一、假设一个场景
有好多好多珠子要用签子一口气串起来,但不能动珠子,你只能选一个趁手的签子,能尽量多的把珠子串起来,你会选哪个?(插签子的动作必须要帅,只能如下动图的插法)
答案
很显然,我们要选又细又长的签子去插这些珠子,因为这些珠子很明显排的还算整齐,用直直的签子很容易多插到几个。
而这个过程就是需要查看数据样本来确定函数拟合大概是一个怎么样的函数,我们这里就是一个简单的线性函数。
二、插签子
接下来我们就是进行插签子的环节,如果插签子的人很笨,他第一下插下去变成了下面这样:
这也太笨了吧,差那么多,嗯,这就是欠拟合,差的太大了,完全插不到一个。
第二次尝试,插成了这个样子:
嗯,比第一次好多了,再来一次:
很好,越来越接近了,再来一次:
完美,这次可以说插的非常漂亮,所以这个插的过程,有人叫它梯度下降,就是为了让签子插过足够多的珠子。
三、大力出奇迹
如果有人大力得很,签子柔韧性又好,就插成了下面这样:
插得很好,签子把每个珠子的圆心都过了,但签子歪了,这就叫过拟合。
四、插签子的角度
在寻找插签子的角度时,我们是通过签子与每个珠子的距离来做判断的:
每一次签子和珠子的距离越来越近,是靠肉眼去看的,换到公式中就是我们的代价函数(Cost Function)。
五、总结
以上就是一元线性回归的理解,作为机器学习的入门,一元线性回归是最基础也最基本的。当然,文中的签子只是用来串现有的珠子,而真正的线性回归使用是为了预测结果,上文的场景只是为了表现一元线性回归的思路。
接下来有机会再讨论其他机器学习的内容,通过假设场景来描述机器学习的过程,然后再去看其他更权威的文章,那些公式可能就更容易理解了。