“机器学习”科普文章(给外行和新手解解惑)
序
5分钟读完本文,你将学到以下知识:
什么是机器学习机器学习与传统编程的区别机器学习的工作流程什么是机器学习
通俗易懂的来讲,机器学习是通过对历史数据(现有数据)进行分析、计算,发现其中的规律,然后用于对未来数据进行预测。
机器学习和传统编程的区别
无论是机器学习还是传统的编程,都没有脱离编程的本质:数据的存储与处理;
传统的编程是基于规则对数据进行处理的,每一个特定的数据适用于什么样的规则都是事先定好的,作为开发者也是心中有数的;因为规则是有限的,因此最终的程序所能处理的数据类型或者是场景也是有限个的。随着规则的增多,程序的可维护性也变得越来越差;
比如基于室外的温度、湿度、气象类型、风力、空气污染指数等判断用户是否外出,如果每一个类型特征划分为5段,通过组合的特征判断用户是否外出,则会产生5的5次方,即125种组合规则,并且每种组合下用户是否外出需要根据人的经验来判断;
传统编程
而对于机器学习来讲,会通过历史数据自动分析计算,发现其中的规律,然后利用这个规律对新的数据进行预测。比如探索室外天气情况与用户是否选择外出的规律。
这里可能会有人有疑惑,机器是如何自动的分析、计算发现规律的呢?请看下文。
机器学习
机器学习工作流程
第一阶段
根据历史数据来发现其中的规律,具体流程如下:
机器学习阶段
流程中的核心是第三个组件:算法,这里的算法是预先定义好形式的一个数学函数(比如y=k * x + b),但并不知道这个函数参数的具体值(不知道k和b的值);函数的输入是从数据中提取的特征,输出是需要预测的结果。
机器会利用历史数据以及数学上的一些知识进行科学的计算,来寻找到最合适的参数值;
参数值求解完成之后,也就得到了第四个组件:模型,模型本质上就是一个数学函数
第二阶段
机器学习的第二阶段就是应用模型进行预测,如下图:
预测阶段
这里的第二个组件和第一阶段图中的第二个组件是完全一致的,第三个组件Model就是第一阶段中生成的Model(也就是第四个组件)
机器学习