一,什么是机器学习
从定义上来说,就是一种方法,这种方法能够服务机器进行学习的能力,从而使机器完成一些通过变成无法直接实现的功能。
从实现上来说,是将事件赋予一个y=fx的过程,通过已存在的大量数据(条件x,结果y),训练出最能描述事件的f,从而用已求得的y=fx模型来预测事件
二,机器学习分类
1,按学习方式分
分有监督学习和无监督学习,就是在上述的实现描述中,数据不给结果y就是无监督学习,给结果y就是有监督学习
2,按预测结果分
分回归和分类问题,如果预测的结果是离散的,就是分类问题,是连续的就是回归问题。如,根据小孩的年龄预测身高,身高是连续的,那么就是连续问题。像色子出现的点数是随机,这就是离散问题
三,基本术语
1,模型
在机器学习中,最常听到的就是模型二字
模型可以理解成一个黑盒,向这个黑色输入数据,就会自动输出数据。
机器学习的整个过程可以理解为,建立一个模型,然后把这个模型训练成自己想要的模型
2,数据集
上面有说训练一个模型是利用大量的数据来进行的,那么我们就称这些大量的数据为数据集。
数据集一般可分为训练集和测试集,就是把数据集分成训练用的和测试用的,用训练集训练模型,用测试集测试模型是否达到预期目标
3,样本&特征
数据集里面是包括大量数据,其中的一条数据就称为一个样本。
在训练模型背后的事件中,影响这个事件结果的可能有很多因素,这些因素在训练之中也会考虑进去,变成相应的值,也就是说样本中会包含这些因素对应的值,我们同意把这些因素称为特征,对应的值称为特征值
4,向量&矩阵
在机器学习中,涉及到的数据运算,很多都是基于线性代数运算法则的,像行列式、矩阵运算、线性方程等
数据集中的每一条样本都是一条具有向量形式的数据
矩阵也是,矩阵可以看成是有向量组成的二维数组,
如上矩阵即可表示如下数据集
5,假设函数&损失函数
(1)假设函数
在定义中能看到,模型的表示是可以用一个函数来表示的,在机器学习中,当理解清楚了整个需求本身后,在开始训练之前,是需要依照需求去挑选一个大概能符合这个需求的函数,这个函数我们称之为假设函数
(2)损失函数
在训练的过程中即是把数据集中的特征值和结果给到这个假设函数,然后训练假设函数中的各种系数,不断的优化这些系数,从而达到预期目标。
而在这个过程中,怎么去衡量是否达到了预期目标呢,就引出了损失函数,不同算法的损失函数不同,但都是让损失函数L(x)的值越来越小,就说明预测值越来越接近真实值
(3)优化方法
可以知道训练的过程其实就是把损失函数的值变小就行,那么当损失函数返回值比较大时,怎么让其变小呢?这时采用的方法就是优化方法,如梯度下降、牛顿方与拟牛顿法、共轭梯度法等
上述关系的可以引用他们网站的一个图
6,拟合
(1)拟合
训练的过程是用数据集来训练的,数据集中的特征和结果可以在相应的维度空间内描述出对应的点,训练的过程就是让模型代表的函数拟合这些数据
(2)过拟合
简单理解就是在训练集中表现很好,但是在验证时表现不行,也就是所谓的模型的泛化能力较差
通常是由于训练时的样本过少,特征量过多导致的
(3)欠拟合
就是在训练测试阶段,表现都不好,无法达到理想的预测结果
通常是由于没有选择好合适的特征导致