我的人工智能之旅——假设函数模型的选择

如何选择假设函数模型

通常假设函数的模型为我的人工智能之旅——假设函数模型的选择,其中n为最高次数,那么如何来确定n的取值呢?

通常的做法是,

(1)确定多个n值,例如我的人工智能之旅——假设函数模型的选择,形成多个假设函数我的人工智能之旅——假设函数模型的选择

(2)将数据集分成三部分,训练集,交叉验证集,测试集,通常所占比例分别为60%,20%,20%。

(注意,测试集选定后,不再变动。)

(3)使用训练集对不同的假设函数模型进行训练,确定最优参数。

(注意,在训练过程中,需要假如正则化惩罚项,降低过拟合。因此这里需要一组我的人工智能之旅——假设函数模型的选择,例如取值为0.001,0.002,0.004,...,10,间隔2倍增长。通过训练,得出最优的我的人工智能之旅——假设函数模型的选择,以获取最优参数)

(4)使用交叉验证集检测步骤(3)所确定的多个假设函数准确率。

(5)更新训练集和交叉验证集。

(6)重复进行多次步骤(3)(4)(5)的循环操作。

(8)综合多个假设函数的准确率,选择准确率较好,较稳定的模型,从而确定n的值。

(9)使用测试集确定最终模型的准确率。

采用这种流程的目的,是为了保证假设函数的泛化,降低过拟合概率。

如何评判假设函数的准确率

通常使用学习曲线(learning curves)来衡量假设函数的准确度。

学习曲线公式为我的人工智能之旅——假设函数模型的选择

从数学角度来讲,实质是对均方误差(我的人工智能之旅——假设函数模型的选择)的使用。

如果训练集的均方误差高,肯定为欠拟合。需要提高假设函数最高次数。

如果训练集的均方误差低,交叉验证集的均方误差远高于训练集的均方误差,则为过拟合。需要降低假设函数最高次数。

通过学习曲线,也可帮助判断,当前的假设函数能否通过增加训练数据量的方式进行优化。如图

我的人工智能之旅——假设函数模型的选择

x轴为训练集数据量,y轴误差率。

在训练数据量小的情况下,假设函数容易拟合所有的数据,因此均方误差小。随着数据量的增加,假设函数的均方误差会增大。在图像上的体现就是,训练集学习曲线随训练数据量的增长而增长。

用于训练的数据增加,势必会加少交叉验证集的数据量。在图像上的体现就是,训练集学习曲线随训练数据量的增长而降低。

两条曲线会在某一误差率附近持平。若该误差率仍处于较高水平。那么,就说明通过增加数据量的方式,对假设函数进行优化,效果是不明显的。无需浪费时间去尝试。

优化假设函数的方式包括

(1)增加训练数据量

(2)增减特征项

(3)调整正则惩罚项我的人工智能之旅——假设函数模型的选择参数