前言
机器学习(machine learning)想必早有耳闻,但是在大家心中感觉其实还一直是个高深莫测的学问。固然想学好它要有不少的数学知识储备,但是对于初学者来讲,我们不应该被那些大佬们一个个的术语吓到,想窥探到机器学习的门镜其实没有那么的困难,只要你能沉下心来去理解。
我开始的顾虑也有许多,但是最后还是决定尝试一下这门学科,就跟着吴恩达教授的视频进行学习。这里挺推荐吴恩达教授的视频的,非常适合入门者,对于数学的知识你不用太过担心,视频里都会讲解该如何计算,只要你还没把大学的高数线代基本的东西忘光,都是能很快理解的。coursera-机器学习-吴恩达教授
现阶段我也只是没看多久,记录下学习的过程以及自己的一些理解,有不对的地方还望大佬指正。
简介
什么是机器学习,你去百度百科或者在维基百科上看到的一长串的解释一定会觉得眼花缭乱又难以理解。简单来说,其实就是你编写一段代码,再足够多的数据量的条件下,让机器自己“学习”找到其中的规律,一旦你的这个学习模型成熟了,那么对于新的数据那它也能进行判断预测。最为经典以及简单的例子就是预测房价了。为了简便说明,假设影响房子价格的因素只有房子的面积。你需要进行编码通过房子的面积来判断房子价值多少。
首先你已经拥有了近几个月的房子成交价格和该房子的面积,你就需要利用这些已有的数据来训练你的学习模型,直到它误差足够小,它就可以帮你成功预测房子的价格了。
如果你对机器学习一无所知,你可能会做如下编码:
int price=0;
if(size==100){ //如果面积是100平
price=2000000; //房价是200万
}else if(size==60){
price==1000000;
}
......
如果你这样忙活了大半天,或许会有那么一点点的效果,但是你的这个预测模型涵盖不了全部的可能,价格变化时,你要把你的程序从头到尾改一遍,简直是噩梦啊。
如果能让程序自己找出一个函数能求出房价,谁会在乎这个函数具体干了什么。实际上,如果能计算出面积对房价有多大影响,或者如果有更多因素,加上房子的位置等因素,那么这些因素所占的成分混合起来就能形成最终的价格比例。
例如:
price=0.4*size+0.6*position;
那么这个函数对于新来的房子就能进行正确的预测,而这些比例值是通过我们的学习算法得出来的而不是我们计算得出来的。我们可以称这些比例为权重,只要能找出对所有房子都合适的权重,那我们的模型就可正确预测新的房价了。所以这就需要比较大量的数据,以及数据需要有一定的普遍性。
每个模型都有其适用的范围,比如这个预测房价的模型,如果你是通过中国房价的数据训练出来的,那么你只能用来预测中国房价,对于美国房价,它就会显得不适用。但是它能帮助你解决你需要的问题就足够了。
对于如何通过给定的数据集训练自己的房价预测模型,不是这次的内容,但是它绝不是你想象的那么难。这篇文章只是希望对机器学习有个初步的认识,也帮助自己巩固一下机器学习的一些基本思想。对于更深层次的内容,我也母鸡啊,大佬不要来虐我。
机器学习那么厉害么
正如我上面说的关于美国房价和中国房价,你的这套模型只能适用于你的训练数据集的范围,对于不符合你训练数据集规律的数据,它完全可能得到错误的结果。
初步学习的话,就推荐观看吴恩达教授的机器学习课程,里面还有配套作业,对你理解这些算法十分有帮助。我现在也正在观看,觉得是真的很好的资源。希望与大家一起学习,共同努力。
这里再给出课程地址吴恩达-机器学习
初次写文章,希望大家能收藏以及喜欢。谢谢了(手动滑稽)QAQ