你要训练的线性模型(模型不一定是线性的,为方便理解,此处以线性举例):
f ( x ) = w 1 x 1 + w 2 x 2 + w 3 x 3 + ⋯ + w d x d + b f(\bm{x}) = w_1x_1 + w_2x_2 + w_3x_3 + \cdots + w_dx_d + b f(x)=w1x1+w2x2+w3x3+⋯+wdxd+b f ( x ) = w ⊤ x + b f(\bm{x}) = \bm{w}^\top\bm{x} + b f(x)=w⊤x+b 其中 x = ( x 1 , x 2 , x 3 , ⋯ , x d ) \bm{x} = (x_1, x_2, x_3, \cdots, x_d) x=(x1,x2,x3,⋯,xd) 是你要输入的数据,组成了输入 d d d 维特征向量 x \bm{x} x(这个特征向量各种各样,可以来自数据集的人类可以理解的具象数据,也可以用 CNN 卷出来的人类理解不了的抽象数据); w , b \bm{w}, b w,b 作为模型权重参数(并非网络参数,网络是求模型的,模型本身有自己的参数,网络本身也有自己的参数如深度、维度); f ( x ) f(\bm{x}) f(x) 作为输出,如分类结果、回归预测。
例子一,猫狗分类:
例子二,房价回归预测:
例子三, 0 − 9 0-9 0−9 手写体识别:
以 CNN 为例:左侧为原始手写体灰度图像(人类看得懂,网络看不懂),右侧为经过卷积后的特征图像(人类看不懂,网络目前也看不懂,但是处理起来更方便了;当然后续可能要经过多层卷积并池化后,才可将浓缩后的数据送入网络训练)。
以下为 4*4 单元内最大池化示例,进一步将数据量浓缩。
浓缩后的数据可送入全连接层进行线性回归(打个比方)。
本节会解答 w 1 , w 2 , w 3 , ⋯ , b w_1, w_2, w_3, \cdots, b w1,w2,w3,⋯,b 作为线性模型的未知参数,如何训练,训练目标是什么的问题。
也可以叫做样本,如 m m m 个样本: D = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , ⋯ , ( x m , y m ) } D = \{ (\bm{x_1}, y_1), (\bm{x_2}, y_2), \cdots, (\bm{x_m}, y_m) \} D={(x1,y1),(x2,y2),⋯,(xm,ym)};其中每个样本输入存在 d d d 维特征: x i = ( x i 1 , x i 2 , ⋯ , x i d ) \bm{x_i} = (x_{i1}, x_{i2}, \cdots, x_{id}) xi=(xi1,xi2,⋯,xid);每个样本对应一个标准答案输出 y i y_i yi(当然非线性模型或其他模型下你可能会得到一个多维向量输出 y i \bm{y_i} yi)。
毋庸置疑,如果一个模型训练的好,学习后应该有回答等于标准答案,也就是 f ( x i ) = y i f(\bm{x_i}) = y_i f(xi)=yi,或误差损失 ( f ( x i ) − y i ) 2 = 0 (f(\bm{x_i}) - y_i)^2 = 0 (f(xi)−yi)2=0。换言之,线性回归试图习得: f ( x i ) = w i x i + b , f ( x i ) ≃ y i f(\bm{x_i}) = \bm{w_i}\bm{x_i} + b, f(\bm{x_i}) \simeq y_i f(xi)=wixi+b,f(xi)≃yi
为了衡量网络回答 f ( x i ) f(\bm{x_i}) f(xi) 与标准答案 y i y_i yi 之间的差别,以确定 w , b \bm{w}, b w,b 的解 w ∗ , b ∗ \bm{w^*}, b^* w∗,b∗,我们可以引入均方误差:
( w ∗ , b ∗ ) = arg min ( w , b ) ∑ i = 1 m ( f ( x i ) − y i ) 2 = arg min ( w , b ) ∑ i = 1 m ( y i − w ⊤ x i − b ) 2 (\bm{w^*}, b^*) = \argmin_{(\bm{w}, b)} \sum_{i=1}^{m}{(f(\bm{x_i}) - y_i)^2} = \argmin_{(\bm{w}, b)} \sum_{i=1}^{m}{(y_i - \bm{w^\top x_i } - b)^2} (w∗,b∗)=(w,b)argmini=1∑m(f(xi)−yi)2=(w,b)argmini=1∑m(yi−w⊤xi−b)2
这本质上是一个优化问题,类似凸优化中求何处 ( w , b ) (\bm{w}, b) (w,b) 取值,使得整体 l o s s loss loss 最小。 BP 中可对未知参数求偏导采用梯度下降法反向传播,迭代更新每个神经元参数,以求出最优的 ( w ∗ , b ∗ ) (\bm{w^*}, b^*) (w∗,b∗)。现实优化问题可采用模拟退火、随机梯度下降、遗传算法等完成此过程。
注意,这里 x \bm{x} x 作为数据集输入为已知, y i y_i yi 作为数据集标准输出也为已知,你要求的反而是模型的未知组参数 ( w , b ) (\bm{w}, b) (w,b) 的解 ( w ∗ , b ∗ ) (\bm{w^*}, b^*) (w∗,b∗)。
数据集 D D D 可以划分为两块 D = D 1 ∪ D 2 D = D_1\cup D_2 D=D1∪D2。一块 D 1 D_1 D1 用于训练 ( w ∗ , b ∗ ) (\bm{w^*}, b^*) (w∗,b∗),称为监督集;一块 D 2 D_2 D2 用于测试你获得的模型 f ( x ) = w ∗ ⊤ x + b f(\bm{x}) = \bm{w^*}^\top\bm{x} + b f(x)=w∗⊤x+b,验证合理性或享受成就感,称为测试集。
可分为不完全监督、不确切监督、不准确监督。与传统的监督学习相比,其使用有限的、含有噪声的或者标注不准确的数据来进行模型参数的训练,如:
数据集 D D D 残缺只有部分带有标签,假若为获得强监督信号,将全部缺失标签咨询专家添加标签,消耗成本太大。
在查询次数尽可能小的情况下,选择出最有价值的未标注数据来查询人类专家,使得训练出的模型性能最好。旨在提高查询效率。
没有人类专家参与,根据数据分布特征,做聚类假设或流形假设,使得相近样本返回相似预测结果。
利用源领域 D s D_s Ds 和源任务 T s T_s Ts 中的知识,解决目标领域 D t D_t Dt 和目标任务 T t T_t Tt 中的预测函数 f t ( x ) f_t(\bm{x}) ft(x),或提升 f t ( x ) f_t(\bm{x}) ft(x) 的预测效果。
数据集中每个实体内没有标注明确的监督信息,输入特征维度不明确。如肺炎患者胸片,并不确切何处病灶会导致患病。
大数据集内出现的标注错误,可视为噪声。