机器学习:计算机程序利用经验E学习任务T,性能是P,如果针对任务T的性能P随着经验E不断增长,则称为机器学习。自己理解就是给出一个任务,对象是数据,从数据中学习到一种规律,这种规律对新的数据同样有用。
机器学习可以根据训练时监督的量和类型进行分类。主要有四类:监督学习、非监督学习、半监督学习和强化学习。下面分别对这是四类分别介绍。
监督学习:就是看训练数据有没有标签,有则称为监督学习,没有则称为非监督学习,在我们的机器学习中,大部分任务都是监督学习,非监督学习也是监督学习的提前步骤。监督学习包括:KNN、线性回归、logistic回归、svm、DecisionTree、RandomForist和NN等;非监督学习包括:聚类学习、关联规则分析和降维(当然降维也有有监督降维算法LDA等,当然也有半监督降维算法SDA和SSDR等)
半监督学习:就是介于监督学习和非监督学习之间的,训练数据带有少量的标签数据,大部分数据都没有标签,要知道获取标签是一项费时费力的工作,所以有了迁移学习这个新的方法。
强化学习:学习系统在这里被称为智能体(agent),可以对环境进行观察,选择和执行动作,获得奖励(负奖励是惩罚)。然后它必须自己学习哪个是最佳方法(称为策略,policy),以得到长久的最大奖励。策略决定了智能体在给定情况下应该采取的行动。这个照搬原文,自己对它不是太了解。
另一个用来分类机器学习的准则是,它是否能从导入的数据流进行持续学习。分为批量学习(也叫离线学习)和在线学习(也叫增量学习)。
批量学习:用全部的数据一次读进内存进行学习,缺点就是耗时和需要大量的资源。
在线学习:数据不需要一次读进内存,可以把数据分成批,一批批的读进内存进行学习,这对于低端玩家来说,是非常友好的,不用担心机器的问题。
另一种分类机器学习的方法是判断它们是如何进行归纳推广的,分为基于实例和基于模型的学习。
基于实例:系统先用记忆学习案例,然后使用相似度测量推广到新的例子。
基于模型的学习:从样本集进行归纳的方法是建立这些样本的模型,然后使用这个模型进行预测。
机器学习的主要挑战:错误的算法和错误的数据。但就我本人理解而言,数据是根本,因为我们研究的对象就是数据,如果数据本身就没有搞明白,那么从根子上就出错了,后面的研究就成了无根之萍了。下面是一副各种算法随着训练数据的增大,他们的准确率的比较,可以看出,在一般的算法如果数据量上去了,他的准确率也就上去了。