非人工智能方向粗糙理解深度学习
- 线性模型基本形式
- 线性回归
- 数据集
- 学习目标
- 均方误差
 
- 监督学习
- 弱监督学习
- 不完全监督
- 主动学习
- 半监督学习
- 迁移学习
 
- 不确切监督
- 不准确监督
 
线性模型基本形式
你要训练的线性模型(模型不一定是线性的,为方便理解,此处以线性举例):
 
     
      
       
        
         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) 作为输出,如分类结果、回归预测。
-  例子一,猫狗分类: - 特征空间内输入 x 1 x_1 x1 表示耳朵长度, x 2 x_2 x2 表示鼻头子长度, x 3 x_3 x3 表示胡子长度等;
- w 1 , w 2 , w 3 , ⋯ , b w_1, w_2, w_3, \cdots, b w1,w2,w3,⋯,b 是网络要训练得到的这个线性模型的参数,目前未知;
- f ( x ) ∈ [ 0 , 1 ] f(\bm{x}) \in [0, 1] f(x)∈[0,1],做为最终输出,越接近 0 0 0 越像猫,越接近 1 1 1 越像狗。
 
-  例子二,房价回归预测: - 特征空间内输入 x 1 x_1 x1 地段(抽象,但你可以编码为浮点数), x 2 x_2 x2 表示房屋面积, x 3 x_3 x3 表示套型(抽象,但你可以编码为浮点数);
- w 1 , w 2 , w 3 , ⋯ , b w_1, w_2, w_3, \cdots, b w1,w2,w3,⋯,b 是网络要训练得到的这个线性模型的参数,目前未知;
- f ( x ) ∈ [ 0 , 1 ] f(\bm{x}) \in [0, 1] f(x)∈[0,1],做为最终输出,越接近 0 0 0 越像猫,越接近 1 1 1 越像狗。
 
-  例子三, 0 − 9 0-9 0−9 手写体识别: - 输入灰度图像,经过 CNN 卷出来特征空间内的特征值 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),输入后面的线性模型(不一定是线性,但总有一个函数,能将各个 0 − 9 0-9 0−9 手写体的特征映射到 0 − 9 0-9 0−9 的标准答案上,此处仅为理解方便);
- w 1 , w 2 , w 3 , ⋯ , b w_1, w_2, w_3, \cdots, b w1,w2,w3,⋯,b 是网络要训练得到的这个线性模型的参数,目前未知;
- f ( x ) ∈ N , f ( x ) ≤ 9 f(\bm{x}) \in \mathbb{N}, f(\bm{x}) \leq 9 f(x)∈N,f(x)≤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 内样本数 m m m 较小;
- x i \bm{x_i} xi 内部分维度值缺失,或部分 y i y_i yi 缺失;
- D D D 内存在垃圾噪声(错误标准答案、无效输入等),需清洗。
不完全监督
数据集 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) 的预测效果。
不确切监督
数据集中每个实体内没有标注明确的监督信息,输入特征维度不明确。如肺炎患者胸片,并不确切何处病灶会导致患病。
不准确监督
大数据集内出现的标注错误,可视为噪声。












![Java集合框架【二容器[LinkedList容器类、Set接口]】](https://img-blog.csdnimg.cn/3c0685a3dfa74e29b917168aa1508ce0.png)
![[附源码]java毕业设计学校失物招领系统](https://img-blog.csdnimg.cn/facfb73eac814a87a8d36d954f82aa93.png)






![21. [Python GUI] PyQt5中的模型与视图框架-抽象模型基类QAbstractItemModel与自定义模型](https://img-blog.csdnimg.cn/img_convert/0245530fec3b75e07f93e950c901eb77.png)


