机器学习的定义:机器学习是研究“学习算法"的学科,计算机通过应用经验(历史数据)E,在任务类T上进行训练使其性能P得到改善,就说此过程为计算机在E上进行了学习。
P:计算机程序在任务T上的性能
T:计算机程序希望实现的任务类
E:表示经验,即历史的数据集
入门机器学习必看机器学习的基本术语:所有记录的集合为数据集,每一条记录称为一个样本,样本的特点称为特征或属性,每一个样本的特征数量称为维数,样本的各特征组成的向量称为特征向量,所有训练样本的集合为训练集,所有测试样本的集合称为测试集。
训练集是特殊的,测试集是一般的。对于数据有标签的学习过程称为有监督学习,对于数据没有标签的学习过程为无监督学习,无监督学习将训练样本分为不同的群。预测值为离散值称为分类,预测值为连续值称为回归。
为了对性能P进行评估,需要对P进行能力的划分,算法在训练集上的误差称为训练误差,在测试集上的误差称为测试误差,在新数据样本上的误差称为泛化误差,为了达到较好的性能P,即使泛化误差达到最小,由于泛化误差不便测量,故采用测试误差来估计。
将数据集(E)划分为训练集和测试集,算法在训练集上做训练,在测试集上做测试,故应对训练集和测试集进行划分。有留出法,交叉验证法和自助法三种方法。其中,留出法和交叉验证法常用于大数据集的划分,而自助法用于小数据集的划分。
入门机器学习必看留出法是将训练集D分为互斥的两个集合S和T,为了保证S和T的数据分布相同,即具有相同比例的正例和反例,需要采用分层抽样的方法,以免误差估计时产生偏差。但分层抽样仍是随机的,故应该采取多次抽样对误差进行估计,并取平均值。
交叉验证法是留出法的变体,将训练集D分为n个大小近似的子集,k1,k2,...ki,...,kn依次取每个子集ki为测试集,其他集合为训练集,循环n次,得到n个结果取平均值为测试误差的估计值。当每个子集只包含一个样本时,此为留一法,精度高,但计算量大,故在此基础上提出了自助法。
自助法每次选取数据集中的一个元素,将该元素复制放入训练集中,再将该元素放回数据集,若有m个样本,则每个样本被选取的概率为1/m,进行m次选取,得到训练集中的m个元素,数据集中m次都不会被选到的样本数量比例取极限得到36.8%,这1/3的数据即作为测试集,但由于改变了原有数据集的分布,故该方法会引入估计偏差。
训练的模型有很多参数,根据训练模型产生的测试误差不断调整参数的过程称为调参。训练和调参完毕后,往往对整个数据集(包括训练集和测试集)进行训练,提高模型精度。
网友评论