机器学习主要解决两类问题,一个是分类问题,另一个是回归问题。分类问题有猫狗识别,手写数字识别,判断是否是垃圾邮件。回归问题的结果是一个连续数字的值,而非一个类别。比如:预测房屋价格,市场分析。
机器学习分为监督学习,非监督学习,半监督学习,增强学习。或者分为批量学习,在线学习,参数学习,非参数学习。
监督学习:给机器训练的数据拥有标签或者答案。主要处理分类、回归问题。非监督学习:给机器训练的数据没有标签或答案。机器使用非监督学习对没有标记的数据进行分类、聚类分析,一是进行异常检测,二是对数据进行降维(特征提取,特征压缩)方便可视化。半监督学习:一部分数据有标记或者答案,另一部分数据没有。要处理这些数据,先使用无监督学习对数据作处理,然后使用监督学习做模型的训练。增强学习是根据周围情况,采取行动,然后根据行动的结果改进、学习行动的方式。比如:alphago,无人驾驶。
批量学习:选择数据集中的一部分数据进行训练。它的优点是简单,它的问题是如何适应环境的变化,解决方案是定时重新批量学习。在环境变化特别快的条件下可能无法进行批量训练。在线学习可以根据正确结果及时调整模型,但是需要对数据进行监控(异常检测)以免数据带来不好的变化。参数学习是给机器输入大量的数据进行学习,一旦学到了参数,就不再需要原有的数据集。非参数模型不等于没有参数,需要原来的数据集,不对模型进行过多假设。
如何选择机器学习算法?奥卡姆剃刀原则,简单就是好。脱离具体问题谈哪个算法好是没有意义的。在面对一个具体问题时,尝试使用多种算法进行试验对比是必要的。