机器学习:算法与应用 by XDU 2022冬季课程笔记1:线性回归与逻辑回归

Posted spongiaaa

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了机器学习:算法与应用 by XDU 2022冬季课程笔记1:线性回归与逻辑回归相关的知识,希望对你有一定的参考价值。

机器学习:[算法与应用 by XDU 2022冬季课程笔记集合]

文章目录

1.回顾与总览

上节课程概括了整个机器学习算法流程,以及算法中最重要的三个方面:

  1. 选择合适的模型来拟合数据
  2. 选择一类损失函数1用于训练模型
  3. 选择一种最优化方法来求解模型2

本节课程也基本按照这三个方面展开叙述。包括线性模型与线性回归的算法流程,两种线性回归变体(Ridge与Lasso),以及基本的逻辑回归模型及其解法。

2.线性模型与线性回归(Linear Regression)

  1. 线性模型的基本形式:
    f(x)=βTx + b(对应上面的重点1)
    此处βx均为d维向量,x=[x1,x2…xd]被称作一个特征向量,每个特征向量有d个特征维度。这d个x(即一个特征向量x)对应着一个标签y,多个特征向量构成我们的数据集X(是个矩阵,多个向量构成的嘛),x(i)表示矩阵中第i个特征向量,y(i)表示该特征向量对应的标签。

  2. 线性回归训练流程
    若共有n个特征向量,线性模型的训练流程就是根据已有的数据集x(1),x(2)…x(n)以及他们对应的标签y(1),y(2)…y(n)拟合出一个模型f(x),这个模型可以预测新输入的无标签的特征向量xnew所对应的标签 y ^ \\hat y y^。我们选取一个损失函数(对应上面的重点2)作为最小化目标,通过最小化方法(对应上面的重点3)使得模型参数与现有数据集X的拟合程度最高,即获取最优模型。

  3. 损失函数与求解算法

    1. 模型有关的参数设置如图所示
    2. 损失函数选取RSS方差和,也就是将数据集X中的每个特征向量x代入模型,将求解到的 y ^ \\hat y y^(即模型的预测结果)与特征向量实际的标签y取平方差。
    3. 求解算法选取梯度下降法,这是机器学习中最常用的一种优化方法,网上有很多详细的介绍,在此不展开赘述。梯度下降的作用是调整模型的参数,使在数据集上的损失函数达到最小值。在此仅了解作用并不影响后续课程的理解。(损失函数的自变量是模型的参数β,数据集和标签已经确定了嘛)
  4. 由于线性模型的损失函数比较简单,可以直接求出解析解(即函数取最小值时对应的自变量β),由于设计矩阵与向量,推导需要一定线性代数基础,下面是我的推导过程。

  5. 解的物理意义
    argmin RSS(β)指的是当RSS最小时取得的 ββ*
    由于XT-y)=0,也就是y- y ^ \\hat y y^(这是个向量)z1zd(这也是个向量)张成的空间垂直3
    z的定义如下:


当上式中的z1zn关联性很强的时候,ZZT为退化矩阵,模型对微小的扰动反应很大,容易产生过拟合4现象。因此,引入两种线性回归变种解决这个问题。
(严谨的数学证明涉及矩阵退化、秩运算云云,我实在没有能力完全看懂,如果有对线性代数掌握较深的同学可以分享)
分享一个过拟合的例子,蓝色的线是过拟合的模型。(来自吴恩达Coursera:machine learning):

  1. Ridge线性回归(L2正则化)
    岭线性回归模型与原模型的区别是多了一个正则化项λβTβ
    对这个公式的直观感知就是损失函数加上了模型参数的平方和 ∑ i = 1 d \\sum_i=1^d i=1dwi²,即最小化目标包含了模型的参数,从而达到权值衰减(weight decay)的目的,来规避过拟合。
    新的损失函数求导过程与之前类似,此处不再赘述


    ridge线性回归法防止矩阵退化的严格证明涉及SVD奇异值分解,矩阵退化,正定矩阵云云,我的线代真的很差………这里给一个等高线的解释。
    等高线表示的是损失函数的取值,同一条等高线上损失函数的取值相等。下图右边表示ridge线性回归,其损失函数左项和正则化项的梯度下降目的地不同,达到防止过拟合的效果。

7.Lasso线性回归(L1正则化)
Lasso线性回归与原模型的区别是多了一个正则化项λ|β|
对这个公式的直观感知就是损失函数加上了模型参数的绝对值和 ∑ i = 1 d \\sum_i=1^d i=1d|wi|,这样正则化后的损失函数不存在解析解,其求解过程需要QP二次规划算法5


上图左侧是Lasso线性回归模型损失函数的等高线图,在左项与正则化项相切处取得损失函数的最小值,这个相切处一般是坐标轴上的点,达到了参数置零的效果,从而实现参数稀疏化,从而实现正则化防止过拟合。(为啥稀疏向量可以防止过拟合我也不懂)

  1. 基于线性回归的分类器
    使用独热编码表示一个特征向量的分类,则全体训练集的Y变成一个矩阵,使用上述线性回归模型可以求得解析解B*=(XTX-1XTY。对于待遇测的新数据x,代入模型后求得预测向量 y ^ \\hat y y^,该向量的最大值对应的K即为模型输出的分类结果。
    该分类器的缺点有两个:
    1. RSS损失函数并不适用于分类算法;
    2. 该分类器只能解决线性可分问题。

3.逻辑回归(Logistic Regression)分类器

  1. 对于K类分类目标,每一类都有一个对应的线性模型,他们的参数分别是βk0(对应线性模型中的b)βk(对应线性模型中的向量参数β)
    把待预测的特征向量x输入每一类分类器,得出的数据就是这个x属于这一类的概率。(未归一化)

  2. 下一步要做的事情是使输出满足概率形式,即求和为1的形式。使用上节课讲过的softmax进行变换,下面给出我的softmax笔记:


    可以发现这两个变化是相同的,都是将所有模型输出结果取指数后求和作为分母(老师的笔记中最后一类的模型输出是log1=0,取指数即e0=1,因此分母有个1),分子是这一类模型的输出结果取指数,这种操作可以将输出转化为概率形式。

  3. 二项逻辑回归模型
    就是当分类项数只有两项(K=2)时的特殊情况,右边的函数是sigmoid函数,相当于将线性回归模型的输出当做自变量放入sigmoid中激活,使得总逻辑回归模型的输出是sigmoid的形式。

  4. 逻辑回归模型的损失函数
    选用对数似然函数作为逻辑回归模型的损失函数,如下所示。
    这里应该是要以最大化似然函数(?不确定)作为目标,我的概率论学的很差……

    下面贴出我的二项逻辑回归损失函数笔记
    先看最下面的simplified loss funcion部分,与老师给出的二项逻辑回归损失函数仅差一个负号,对于该损失函数的解释和由来在上面。

  5. 优化算法:牛顿迭代法
    机器学习优化方法的主流派系就是梯度下降法和牛顿迭代法,网上有很多介绍,在此不展开赘述。

4.总结

机器学习课程内容繁杂,需要较扎实的线性代数与统计学基础。同学们可以关注宏观的课程整体逻辑与大致的实现流程,对于一些复杂算法可以先知其然,了解它的作用和条件等,课后再深入其原理的学习。


  1. 损失函数表征着你的模型(参数)与你的数据集的拟合程度,损失函数越小,表示你的模型越准确。 ↩︎

  2. 求解模型的目的就是将损失函数最小化,以期得到最合适的参数 ↩︎

  3. 两直线a1x+b1y+c1=0和a2x+b2y+c2=0垂直的条件是a1a2+b1b2=0,即ab=0,拓展到多维超平面同理。 ↩︎

  4. 过拟合就是几乎完美的符合数据集,但是模型的泛化能力很差,难以应用于新数据的预测。解决过拟合的方法是正则化,即ridge线性回归和lasso线性回归。 ↩︎

  5. 我仅稍作了解,有空余时间可以深入学习 ↩︎

以上是关于机器学习:算法与应用 by XDU 2022冬季课程笔记1:线性回归与逻辑回归的主要内容,如果未能解决你的问题,请参考以下文章

从零开始CS224W-图机器学习-2021冬季学习笔记13.2:Community Structure in Networks——BigCLAM算法

吴恩达2022机器学习课程评测来了!

2021-2022年度第三届全国大学生算法设计与编程挑战赛(冬季赛)-正式赛 部分题解

2021-2022年度第三届全国大学生算法设计与编程挑战赛(冬季赛正式赛) 部分题题解

2021-2022年度第三届全国大学生算法设计与编程挑战赛(冬季赛正式赛) 部分题题解

自动聊天机器人项目班 [一门课搞定聊天机器人]