懂点深度学习:【白话】模型

2020-02-20 13:54:55 浏览数 (1)

问题导读 1.什么是机器学习模型? 2.机器学习数学符号是如何认识的? 3.损失函数的作用是什么? 我们可能听说过机器学习、深度学习。可是我们可能觉得非常神秘或则难懂。有这种感觉,是因为对人工智能缺乏了解造成的。深度学习和我们的传统编程其实是差不多的,关键是我们要懂里面的逻辑,或则说知识,或则说门道,懂了这些,我们机器学习就会比较简单了。这里给大家说说,我们经常听到的“模型”,什么是机器学习模型,模型训练,怎么个训练法。 提前说明的是,这里我们举例,举例的时候大家可能看到一些特殊的符号就懵逼了,其实这都是我们的错觉造成的,比如2的N次方,我们知道它是2*2*2.。N,这是它表示的含义。可能当我们看到

,知道他是什么意思?这时候我们如果认为自己数学不好不认识,会瞬间懵逼。其实它就是一个符号而已,而这里把它的定义则为模型输出的值。所以我们只要能正确认识机器学习里面的符号,会让我们的机器学习难度骤然下降。而且这并不是我们数学不好,而是被它的样子忽悠住了,下面我们开始说说模型 1、什么是模型 模型,即函数。根据给定输入,通过相应函数映射出一个输出值。例如,在线性回归模型中,输入与输出之间即为线性关系,模型输出即为预测值或估计值,与真实值有一定偏差。 上面我们认识到了,接着我们举个例子: 设房屋的面积为

,房龄为

,售出价格为 y。我们需要建立基于输入 和 来计算输出 y 的表达式,也就是模型(model)。顾名思义,线性回归假设输出与各个输出之间是线性关系:

其中

是权重(weight),b 是偏差(bias),且均为标量。它们是线性回归模型的参数(pa-rameter)。模型输出是线性回归对真实价格 y 的预测或估计。我们通常允许它们之间有一定误差。 2、模型训练 在一大堆样本数据中,找到一个能很好的根据样本输入估计得到样本输出的函数的过程即为模型训练,一个好的训练模型会使得函数输出结果与样本数据对应的实际结果偏差尽可能的小。 模型训练涉及以下三个要素。

补充大家对于样本知道是什么意思,但如果让我们举例,你能说出什么是样本的含义吗?在机器学习中,样本具体指代什么?机器学习中训练数据称之为训练数据集,上面我们一栋房屋为一个样本。真实售出价格为标签,用来预测标签的两个因素叫做特征。

下面我们继续三要素: (1)训练数据 训练数据即一系列真实数据,包含一系列条件以及结果,其中条件即为模型输入也称特征,结果即为模型输出也称标签。

假设我们采集的样本数为 n,索引为 i 的样本的特征为

,标签为

,对于索引为 i 的房屋,线性回归模型的房屋价格预测表达式为

如果我们没有上文的基础,看到这些特殊的符号可能又懵逼了,这里在具体化一些,比如

,这里x带了两个参数,仍然表示的是房屋面积,表示第i个房屋的面积。这样是否一目了然了那。 (2)损失函数 在模型训练过程中,需要判断训练出的模型以训练数据为输入的情况下得到的结果与真实结果之间的误差。通常选择一个非负数作为误差,越小即误差越小.将衡量误差的函数称作损失函数。 这里我们举例,比如我们一栋房子100万,通过机器学习训练模型,然后我们通过训练模型,来预测一栋房子为120万,这其实就是得到的结果120万和真实结果100万之间的误差。对于损失函数,也有常见的,感兴趣可参考几种常见的损失函数【https://www.cnblogs.com/lliuye/p/9549881.html】 (3)优化算法 当模型和损失函数形式较为简单时,误差最小化问题的解可以直接用公式表达出来,此时这类解叫做解析解,可以解决我们的需要--找到满足最小的误差的相关值。然而,在大多数深度学习模型中,没有解析解,只能通过优化算法有限次迭代模型参数来尽可能的降低损失函数的值,这类解叫做数值解。 数值解的优化算法中,应用广泛的是小批量随机梯度下降,即选取一组模型参数的初始值,对参数进行多次迭代,使每次迭代尽可能降低损失函数的值。在每次迭代中,先随机均匀采样一个由固定数目训练数据样本所组成的小批量,然后求小批量中数据样本的平均损失有关模型参数的导数,最后用此结果与预先设定的一个正数的乘积作为模型参数在本次迭代的减小量。其中小批量和正数(或正数中的部分)都是人为设置的,叫做超参数,在模型训练过程中的调参既是调节超参数。 3、模型预测 模型训练完成之后,即可根据模型在优化算法停止时,得到的参数结合测试集的输入数据映射出一个输出,即为根据模型预测出的结果。 同样以房屋为例: 模型训练完成后,我们将模型参数

,在优化算法停止时的值分别记作

,注意这里我们并不一定得到了最小化损失函数的最优解

,而是对最优解的一个近似。我们就可以使用学出的线性回归模型

,来估算训练数据集以外任意一栋面积为

(平方米)为房龄为

的房屋价格了。这里的估算也叫做模型预测、模型推断或模型测试。

0 人点赞