开学报告

开学报告
  本人在暑假期间学习了Python的基础语法,也做了一些与该语言相关的练习题,目前正在学习的课程为DIVE INTO DEEP LEARNING。由于本人之前从未接触过该领域的相关知识,所以决定打好一个牢固的基础。我学习配置了一个环境来运行 Python、Pycharm、相关库以及该课程所需的代码,以快速入门并获得动手学习的经验,并且复习了高等数学和线性代数的相关知识,例如自动求导的代码实现和张量,张量在深度学习中是一个很重要的概念,因为它是一个深度学习框架中的一个核心组件,后续的所有运算和优化算法几乎都是基于张量进行的。

  接着我学习了线性回归模型,线性回归(linear regression)在回归的各种标准工具中最简单而且最流行。线性回归基于几个简单的假设:首先,假设自变量x和因变量y之间的关系是线性的,即y可以表示为x中元素的加权和,这里通常允许包含观测值的一些噪声,其次,我们假设任何噪声都比较正常,如噪声遵循正态分布。为了解释线性回归,我们举一个实际的例子:我们希望根据房屋的面积(平方英尺)和房龄(年)来估算房屋价格(美元)。为了开发一个能预测房价的模型,我们需要收集一个真实的数据集。这个数据集包括了房屋的销售价格、面积和房龄。在机器学习的术语中,该数据集称为训练数据集(training data set)或训练集(training set),每行数据(在这个例子中是与一次房屋交易相对应的数据)称为样本(sample),也可以称为数据点(data point)或数据样本(data instance)。我们要试图预测的目标(在这个例子中是房屋价格)称为标签(label)或目标(target)。预测所依据的自变量(面积和房龄)称为特征(feature)或协变量(covariate)。
  建模时采用线性代数表示法会比较方便。当我们的输入包含d个特征时,我们将预测结果 y ^ \hat{y} y^(通常使用“尖角”符号表示估计值)表示为:
           y ^ = w 1 x 1 + . . . + w d x d + b \hat{y} = w_{1}x_{1} + ... + w_{d}x_{d} + b y^=w1x1+...+wdxd+b
  当我们的输入包含d个特征时,将所有特征放到向量 x ∈ R d \textbf{x}\in\mathbf{R}^d xRd中,并将所有权重放到向量 w ∈ R d \textbf{w}\in\mathbf{R}^d wRd中, y ^ \hat{y} y^表示预测结果,可以用点积形式来简洁地表达模型:
           y ^ = w ⊤ x + b \hat{y} = \textbf{w}^\top\textbf{x} +b y^=wx+b
扩展:
用符号表示的矩阵 X ∈ R n × d \mathbf{X}\in\mathbf{R}^{n\times d} XRn×d可以很方便地引用整个数据集的n个样本。其中, X \mathbf{X} X的每一行是一个样本,每一列是一种特征。模型通过矩阵-向量乘法表示为:
           y ^ = X w + b \hat{y} = \mathbf{X}\mathbf{w} + b y^=Xw+b
  给定训练数据特征 X \mathbf{X} X和对应的已知标签 y y y,线性回归的目标是找到一组权重向量 w w w和偏置 b b b。当给定从 X \mathbf{X} X的同分布中取样的新样本特征时,找到的权重向量和偏置能够使得新样本预测标签的误差尽可能小。
  在训练模型时,我们希望寻找一组参数( w ∗ , b ∗ \mathbf{w}^*,\mathbf{b}^* w,b),这组参数能最小化在所有训练样本上的总损失。如下式:
           w ∗ , b ∗ = arg min ⁡ w , b ∣ ∣ X w − Y ∣ ∣ 2 2 ( w , b ) \mathbf{w}^*,\mathbf{b}^* = \argmin_{\mathbf{w},{\mathbf{b}}} ||\mathbf{X} \mathbf{w} - \mathbf{Y}||_2^2(\mathbf{w},\mathbf{b}) w,b=w,bargminXwY22w,b
如何获得 w ∗ , b ∗ \mathbf{w}^*,\mathbf{b}^* w,b(解析解)?
推导过程:
∣ ∣ X w − Y ∣ ∣ 2 2 = ( X w − Y ) T ( X w − Y ) ||\mathbf{X} \mathbf{w} - \mathbf{Y}||_2^2 = (\mathbf{X}\mathbf{w}−\mathbf{Y})^{\mathrm{T}}(\mathbf{X}\mathbf{w}−\mathbf{Y}) XwY22=(XwY)T(XwY)
        = ( w T X T − Y T ) ( X w − Y ) =(\mathbf{w}^{\mathrm{T}}\mathbf{X}^{\mathrm{T}} - \mathbf{Y}^{\mathrm{T}})(\mathbf{X}\mathbf{w}−\mathbf{Y}) =(wTXTYT)(XwY)
        = w T X T X w − w T X T Y − Y T X w + Y T Y =\mathbf{w}^{\mathrm{T}}\mathbf{X}^{\mathrm{T}}\mathbf{X}\mathbf{w} - \mathbf{w}^{\mathrm{T}}\mathbf{X}^{\mathrm{T}}\mathbf{Y} - \mathbf{Y}^{\mathrm{T}}\mathbf{X}\mathbf{w} + \mathbf{Y}^{\mathrm{T}}\mathbf{Y} =wTXTXwwTXTYYTXw+YTY
将该式关于 w \mathbf{w} w求导 (使用向量求导法则) 并令其为 0, 可得
X T X w − X T Y \mathbf{X}^{\mathrm{T}}\mathbf{X} \mathbf{w} - \mathbf{X}^{\mathrm{T}}\mathbf{Y} XTXwXTY=0
最后
w ∗ = ( X T X ) − 1 X T Y \mathbf{w}^* = (\mathbf{X}^{\mathrm{T}}\mathbf{X})^{-1}\mathbf{X}^{\mathrm{T}}\mathbf{Y} w=(XTX)1XTY
b ∗ 同 理 \mathbf{b}^*同理 b
  像线性回归这样的简单问题存在解析解,但并不是所有的问题都存在解析解。解析解可以进行很好的数学分析,但解析解的限制很严格,导致它无法应用在深度学习里。即使在无法得到解析解的情况下,可以用一种名为梯度下降(gradient descent)的方法,这种方法几乎可以优化所有深度学习模型。它通过不断地在损失函数递减的方向上更新参数来降低误差。
  总的来说,线性回归的实现可以按照以下7大步骤实现:1、生成数据集;2、读取数据集;3、初始化模型参数;4、定义模型;5、定义损失函数;6、定义优化算法;7、训练。该思路不止在线性回归模型上适用,在其他模型上也同样适用。同时,在深度学习框架中,我们能够以较小的时间代价来完成各种模型的实现。
  暂定研究方向为图像去噪。
(Softmax回归:
模型的思路
将预测结果转化为非负数
我们可以知道指数函数的值域取值范围是零到正无穷。softmax第一步就是将模型的预测结果转化到指数函数上,这样保证了概率的非负性。
各种预测结果概率之和等于1
为了确保各个预测结果的概率之和等于1。我们只需要将转换后的结果进行归一化处理。方法就是将转化后的结果除以所有转化后结果之和,可以理解为转化后结果占总数的百分比。这样就得到近似的概率。各种预测结果概率之和等于1

soft max回归可以看作是一种条件最大熵模型。对于多分类问题,soft max回归预测的是属于每个类别的条件概率。

soft max用交叉熵函数作为风险经验函数。然后soft max回归相当于没有隐含层的神经网络。交叉熵损失函数和sigmod函数,soft max函数配合使用效果更好。

要注意的是,Softmax回归中使用的C 个权重向量是冗余的,即对所有的 权重向量都减去一个同样的向量v,不改变其输出结果。因此,Softmax 回归往往需要使用正则化来约束其参数。此外,我们还可以利用这个特性来避免计算softmax函数时在数值计算上溢出问题。
softmax函数:
s o f t m a x ( X ) i j = exp ⁡ ( X i j ) ∑ k exp ⁡ ( X i k ) . \mathrm{softmax}(\mathbf{X})_{ij} = \frac{\exp(\mathbf{X}_{ij})}{\sum_k \exp(\mathbf{X}_{ik})}. softmax(X)ij=kexp(Xik)exp(Xij).)

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值