翻开周志华老师的《机器学习》这本书,摘自绪论这段话:机器学习正是这样的一门学科,它致力于研究如何通过计算的手段,利用经验来改善系统自身的性能。而在计算机系统当中,“经验”就是以“数据”的形式存在,所以,机器学习所研究的主要内容是:关于在计算机上从数据中产生“模型”的算法,即“学习算法”。
要进行机器学习,首先要有数据,数据的集合称为数据集,而其中每条记录是关于一个事件或对象的描述,称为一个“示例”或“样本”,就像自己要做的MoviesLens数据集一样,用户、物品、评分、时间戳等为该数据集的属性;而对应的用户id,物品id,用户对物品的评分值作为属性值;可通过一个三维空间来描述这样的向量关系,用户id,物品id,评论值三者作为三条坐标轴,那么每一条这样的数据都可以在这个三维空间当中找到自己的位置。这里的“维数”就是指有多少个属性,例如MoviesLens数据集一般只用到三个属性,即可看成是三维空间。
从数据中学得模型的过程称为“学习或训练”,这是通过算法实现的过程。那么这里所训练的数据称为“训练集”。那么要想得到一个“预测”模型,首先要得到结果信息,比如对于推荐系统,我看了一部电影,例如《赌神》,那么在1000部电影当中有10部电影是我喜欢的类型,通过预测模型计算出来的10部电影和我本身想得到结果进行对比,就可以知道我的这个预测模型准确率是多少了。
若预测的是离散值,此类学习任务称为“分类”,若预测的是连续值,称为“回归”。根据训练数据是否拥有标记信息,学习任务可大致分为两大类:“监督学习”和“无监督学习”,其中分类和回归是前者的代表,聚类则是后者的代表。机器学习的目标是使学得的模型能很好的适用于“新样本”,而学得的模型适用于新样本的能力。称为“泛化”能力,且一般而言,训练的样本越多,就越有可能获得强泛化能力的模型。
对于目前的大数据时代,作为三大关键技术:机器学习、云计算、众包;其中机器学习提供数据分析能力、云计算提供数据处理能力、众包提供数据标记能力。
初识机器学习,以后会继续更新。