神经网络与深度学习-2- 机器学习简单示例-PyTorch

前言:

通过简单的模型,线性回归(Linear Regression)来具体了解机器学习的一般过程,以及不同的学习准则

经验风险最小化,结构风险最小,最大似然估计(最大后验估计)

参考文档:

【技术干货】PyTorch深度学习合集【全20集】深度学习入门|PyTorch入门|深度学习中的数学入门_哔哩哔哩_bilibili

《神经网络与深度学习》

目录:

  1: 线性回归

  2: 结构风险

   3:MLE

   4: MAE

   5: GPU与pythorch


一 线性回归

  1.1 模型:

   f(x;w,b)=w^Tx+b

有时候会了简单起见写成,其中的w,x分别称为 增广权重向量,增广特征向量

f(x;w)=w^Tx

  x=x\oplus 1 \equiv \begin{bmatrix} x\\ 1 \end{bmatrix}=\begin{bmatrix} x_1\\ x_2 \\ .... \\ x_D \\ 1 \end{bmatrix}

   

w=w\oplus b \equiv \begin{bmatrix} x\\ b \end{bmatrix}=\begin{bmatrix} w_1\\ w_2 \\ .... \\ w_D \\ b \end{bmatrix}

1.2 参数学习

     由于线性回归的标签y 和 模型的输出都为连续实数值,因此常用  平方损失函数 作为损失函数

       R(w)=\frac{1}{2}\sum_{i=1}^{N}(w^Tx^i-y^i)^2

      写成矩阵的形式:

      R(w)=\frac{1}{2}(X^Tw-y)^T(X^Tw-y)

     X=\begin{bmatrix} x_1^1 &x_1^2 & ... & x_1^N\\ ... & ... & ... & ...\\ x_D^1&x_D^2 &... & x_D^N\\ 1& 1 & ... &1 \end{bmatrix}

   

    风险函数是关于W的凸函数,其对w的偏导数为

     X(X^Tw-y)=0 

   则最优参数w^* 为

   w^{*}=(XX^T)^{-1}Xy

   这种求解方法称为最小二乘法(Least Square Method,LSM)

  但是XX^T 不一定是可逆的,当不可逆通常有两种方法:

   1: 降维: 使用PCA来预处理数据,然后再使用LSM

   2   梯度下降法:

         初始化w_0=\begin{bmatrix} 0 &... & 0 \end{bmatrix}^T

          w_{t+1}=w_t-\alpha X(X^Tw-y)


二 结构风险最

      

       结构风险最小化(SRM):为了防止过拟合,等价于正则化。(regularizetion)

     

 又分为L1,L2 正规化,这里举例L2正规化

例如:

      最小二乘法要求各个特征之间要相互独立,但是数据集一些小的扰动会导致XX^T

不可逆,为解决上面问题,1970年 Hoerl et al,提出了岭回归(Ridge Regression)

      w^*=(XX^T+\lambda I)^{-1}Xy

     \lambda>0,

    岭回归的解w可以看作结构风险最小化准则的最小二乘法估计

    R(w)=\frac{1}{2}||X^Tw-y||+\frac{1}{2}\lambda||w||^2


三  最大似然估计(Maximum likehood Estimation,MLE)

     假设标签y为一个随机变量,由函数f加上一个随机噪声\epsilon组成

    f(x;w)=w^Tx+\epsilon

    噪声服从\varepsilon \sim N(0,\sigma^2) 高斯分布,则

    p(y|x;w,\sigma)=\frac{1}{\sqrt{2\pi}\sigma}*e^{-\frac{(y-w^Tx)^2}{2\sigma^2}}

   参数w在训练集D 上的似然函数(Likelihood)为

    p(y|X;w,\sigma)=\prod_{i=1}^{N}N(y^i;w^Tx^i,\sigma^2)

    为了方便计算,对对数似然函数(Log Likelihood):

    logp(y|X;w,\sigma)=\sum_{i=1}^{N}log N(y^i;w^Tx^i,\sigma^2)

   最大似然估计(Maximum Likelihood Estimation,MLE)是指找到一组

参数w 使得似然函数p最大,则对w 求导数

    w^*=(XX^T)^{-1}Xy

   补充一下数理统计里面的似然MLE

         1     如果总体X属于离散型

                   分布律P\begin{Bmatrix} X=x \end{Bmatrix}=p(x;\theta),\theta属于待估参数

     设 X_1,X_2,...,X_n 是来自总体的样本,则其联合分布律为

                      L(\theta)= \prod p(x;\theta)

      这个概率随着\theta取值而变化,是它的函数L(\theta)称为样本的似然函数

      由费希尔(R.A.Fisher)引入的最大似然估计法:

      就是固定样本观测值,在\theta取值的可能范围内,挑选使得L(\theta)达到最大值的

        \hat{\theta}使得

       L(x_1,x_2,x_3,...x_n;\theta)=maxL(x_1,x_2,...x_n;\theta)

      这样得到的\hat{\theta}

    2   若X属于连续型

         L(\theta)=L(x_1,x_2,...x_n;\theta)=\prod_{i=1}^{n}f(x_i;\theta)

   求解方法:

         很多时候 p(x;\theta),f(x;\theta) 关于\theta可微,这时最大似然估计\theta

也可以从方程:

          \frac{d}{d\theta}ln L(\theta)=0 

离散型例子

 例1: 设 X \sim b(1,p),X_1,X_2,...X_n是来自X的样本,试求参数P的最大似然估计量

解:

     x_1,x_2,..x_n 是对应样本值,则X的分布律为

    P\begin{Bmatrix} X=x \end{Bmatrix}=p^x(1-p)^{1-x},x\in[0,1]

    其对数似然函数为:

    ln L(p)=\sum_{i=1}x_i lnp+(n-\sum_{i=1} x_i)ln(1-p)

   对p求偏导数为:

     \hat{p}=\frac{1}{n}\sum{x_i}

连续型例子

 设 X \sim N(u,\sigma^2),参数x_1,x_2,..x_n来自于X的样本值,求u,\sigma^2的最大似然估计

解:

   X的概率密度为

   f(x;u,\sigma^2)=\frac{1}{\sqrt{2\pi}\sigma}e^{\frac{-1}{2\sigma^2}(x-u)^2}

   似然函数LLR为

    L(u,\sigma^2)=\prod_{i=1}f(x;u,\sigma^2)

             =(2\pi)^{-n/2}(\sigma^2)^{-n/2}e^{[-\frac{1}{2\sigma^2}\sum(x_i-u)^2]}

    

   对数似然函数为:

          lnL=-\frac{n}{2}ln2\pi-\frac{n}{2}ln\sigma^2-\frac{1}{2\sigma^2}\sum(x_i-u)^2

  对 u,\sigma^2分别求偏导数

     \hat{u}=\bar{X}

     \hat{\sigma^2}=\frac{1}{n}\sum(X_i-\bar{X})^2



四 最大后验估计MAP(Maximum A Posteriori Estimation)

     MLE 认为w是随机的,但是P(w)为均匀分布p(w)=c 为固定值

      \hat{w}=argmax P(y|x,w)c=argmax P(y|w,x)

     MAP w 为随机向量,其先验概率密度函数为 P(w),其目标为

     \hat{w}=argmax P(y|x,w)P(w)

      4.1 例

      假设参数w为一个随机向量,并且服从一个先验分布p(w;\sigma_2),一般设其为高斯分布

  p(w;v)=N(w;0,\sigma_2^2I),\sigma_2^2 为每一维上面的方差

  p(y|x;w,\sigma_1)=N(y;w^Tx,\sigma_1^2)

  则:

log p(w|X,y;\sigma_1,\sigma_2) \sim log p(y|X,w;\sigma_1)+logp(w;\sigma_2)

      \sim \frac{-1}{2\sigma_1^2}\sum_{i=1}^{N}(y^i-w^Tx^i)^2-\frac{1}{2\sigma_2^2}w^Tw

      就是结构化风险


四  偏差-方差分解

    

        为了避免过拟合,我们经常会在模型的拟合能力和复杂度之间进行权衡。拟合能力强的模型一般复杂度会比较高,容易导致过拟合。相反,如果限制模型的复杂度,降低其拟合能力,又可能会导致欠拟合。因此,如何在模型能力和复杂度之间取得一个较好的平衡对一个机器学习算法来讲十分重要。偏差-方差分解(Bias-Variance Decomposition)为我们提供一个很好的分析和指导工具。

Varinance: 样本的拟合能力

Bias:   样本的拟合能力

Noise: 训练集中的噪声导致的

x:   测试样本

D:  训练集

f(x;D) :     通过训练集训练出映射函数f, 测试样本x在f上面的输出

\bar{f(x)}=E_D[f(x;D)]:  模型的期望预测.理解为不同的训练集训练出不同参数的模型(跟训练方法有关系)

y_d: 在训练集上的标签值

y: 在训练集上的真实值

 

 


 

 

 用途:

欠拟合

        模型在训练集上的错误率高,偏差大

        增加数据维度,提高模型复杂度,减小正规化系数,增加训练轮数

过拟合:

        方差高,减少模型的复杂度,加大正规化系数,集成学习。


五 GPU

    Pytorch 目前只支持英伟达的显卡,可以稳定的运行在3080以下。

PC 是否带N卡,查看方式有两种:

5.1 属性查看

5.2 NIVIDA版本可以通过Cmd 查看。

 

  主流的显卡有两种:

AMD:         苹果用的A卡

NVIDIA :  英伟达的N卡

5.3 NV主要型号

 

 5.4  显存要求

 企业级应用

非企业级应用

 

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值