【机器学习】—— 什么是机器学习

 

什么是机器学习(Machine Learning)

 

Machine Learning这个词,我第一次听到感觉就是怪怪的,其实我们可以把它倒过来理解, “Learning Machine” ,好吧,似乎还是怪怪的, 那么我们把Machine换成Algorithm就好理解了,“Learning Algorithm”,没错,就是“学习算法”。机器学习就是具有学习能力的算法

 

那么接下来的问题就是“怎么学?”“从哪儿学?”。先说“从哪儿学”回想我们小时候认识各种动物,老爸老妈就会指着某种动物(或者图片)告诉你这是猫,那是狗。我们学习一门课程,就需要看书,做习题, 我们把这些统称为数据。因此,我们可以了解到我们的学习过程就是通过对数据的不断训练获得某种能力。其实机器学习也是如此,”从哪儿学?“,从数据中学。

那么”怎么学“呢?。我们举个例子,假设我们有一些数据,房屋的面积和房屋的价格,我们希望得到两者之间的关系,确切来说,我希望得到一个模型,对于给定的房屋面积,给出它的价格。我们可以通过一个函数得到一个结果,其中X是输入的房屋面积,y就是房屋的价格。好的,现在我们知道了,机器学习最后要学习到的模型是一个函数。

那么这个函数怎么得到呢?先别急,假设我们得到了一个函数,我们怎么知道它的效果好不好呢?既然这个函数我们是从数据中得到的,我们当然需要通过数据来判断了。我们假设我们已经有了一部分已知结果的数据, 所谓已知结果,就是说这些样本中的房屋价格我们是已知的。数据样本为,其中是第i的样本房屋价格,是第i个样本的房屋面积。因为我们已经有函数,那么对于,我们可以得到一个预测结果。好了,定义了那么多乱七八糟的东西。我们怎么评价这个函数的好坏呢。 我们可以用均方误差来作为评价标准,好了,评价标准有了,怎么得到这个函数呢。显然我们希望这个loss越小越好。那么直观的想法就是怎么样得到一个函数,使得最小,用公式写出来就是,假设的所有参数,我们就是要找到

好了,说了那么多,我们总算找到目标了,这个Loss我们一般称为损失函数,如果你学过高等数学,你应该会有一些想法,那就是如果函数是连续可导的,那么函数的极值点导数为0。大功告成!我们直接求导,令导数为0,就可以求出这个最优解啦。

      哈哈,别高兴的太早,如果对于比较简单的Loss函数,我们当然可以直接求导,但是有时候这个Loss函数的导数为0这个方程怕是不好解呦。 但是没关系,我们知道我们的目标就是求,求解的问题就是一个最优化问题啦。通常我们使用梯度下降法来求解这个问题,这个下次咱们再讲。总体来说,机器学习整个过程可以用如下图片表示

 

回顾一下, 这篇博客主要讲了什么是机器学习

1.我们了解了机器学习就是具有学习能力的算法

2.我们知道了我们最终的模型是通过学习数据得到的。

3.我们知道对于学习到的模型应该有一个评价标准,那就是损失函数

4.最后我们需要通过这个损失函数得到我们最好的一组模型参数,就需要优化算法

希望能坚持把这篇博客写下去,希望能对看到这篇博客的人有所帮助

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章