线性回归学习笔记

本文介绍了线性回归模型的原理,包括线性模型、对数几率模型和Softmax模型。讨论了损失函数,如平方和损失函数和交叉熵损失函数,并解释了它们在优化模型中的作用。激活函数如Sigmoid和Softmax被提及,强调它们在引入非线性和多分类问题中的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

线性模型:

线性回归就是找到一个属性的线性组合来进行对测试对象的预测,表示成向量函数的形式是

Y = wTx+b
对与线性回归模型
线性模型是要通过对数据中的信息进行提取,学到
Y = wxi+b
并且使用范数来表示模型和数据之间的相似程度。

从而通过对目标函数进行优化,得到最合适的参数,
其中,对于范数表示出来的目标函数,使用的优化方法是通过使用最小二乘法的概念。
当然除了最小二乘法之外,我们还可以使用其他的求解优化的方法。例如核函数的方法/
当遇到的函数形式不是我们常见到的线性函数的时候,我们在这里要使用的是广义化的线性函数 ,例如函数
Lny = wtx+b

对于该函数,就将该函数使用广义函数的思想来处理。

对数几率模型
Logistic回归

就是用这个函数来表示离散的分类模型,但是要是使用连续模型,要使用
来来近似的表达,。这个函数就是对数几率函数。
要对对数几率函数的模型进行优化,我们应该对该函数进行化简。

Ln(y/(1-y))即使对数几率。
这种模型的好处就是可以有无穷阶导数,而这是一种很好的数学特性。
对于该模型,使用最大似然数的概念去优化这种模型。、
求解该模型还可以使用梯度下降法来解算。

Softmax模型就是一种logistic的拓展。
Logistics回归只能用于二分类问题模型的研究,softmax可以研究多分类问题。就是一种输出标记不止两个的分类问题。
首先

对该概率模型进行指数化,

将上面的数学模型做具体化,得到

在统计学中损失函数是一种衡量损失和错误损失函数和代价函数是同一个东西,目标函数是一个与他们相关但更广的概念,对于目标函数来说在有约束条件下的最小化就是损失函数(loss function)。我们给定 ,这三个函数都会输出一个 ,这个输出的 与真实值 可能是相同的,也可能是不同的,为了表示我们拟合的好坏,我们就用一个函数来度量拟合的程度,比如:
把最大化或者最小化的函数称为目标函数,把需要最小化的函数称为代价函数或者损失函数,因为我们的优化是最小化代价或者损失。也就是代价函数与损失函数也属于目标函数,有些目标是最大化,那么就不能叫做损失函数或者代价函数了。
几种损失函数:

平方和损失函数定义

C=(y−a)22

其中y是期望输出,a是实际输出
为了解决收敛慢的问题,引入了交叉熵损失函数

C=−(ylna+(1−y)ln(1−a))
其中a=δ(z)

要想成为loss function,需要满足两点要求:
1. 非负性
2. 预测值和期望值接近时,函数值趋于0
对于一个神经单元来讲,输入x和对应的输出a的关系满足

z=wx+b

a=δ(z)
对于sigmoid函数来讲,满足

δ′(z)=δ(z)(1−δ(z))
交叉熵
是用来衡量两个概率分布之间的差异。交叉熵越大,两个分布之间的差异越大,越对实验结果感到意外,反之,交叉熵越小,两个分布越相似,越符合预期。
q(x)表示估计x的概率分布,p(x)表示真实x的概率分布,交叉熵定义如下:

H(p(x),q(x))=H(p(x))+D(p(x)||q(x))
H(p(x))表示p(x)的熵,定义如下:

H(p(x))=−∑x∈Xp(x)logp(x)
什么叫熵,熵就是函数信息量的度量。
D(p(x)||q(x))表示p(x)和q(x)的KL距离(Kullback-Leibler divergence),也叫作相对熵,定义如下:

D(p(x)||q(x))=∑x∈Xp(x)logp(x)q(x)
由此可得,交叉熵

H(p,q)=−∑x∈Xp(x)logq(x)

对于神经网络的二值输出(0或者1),假设神经网络输出a表示是输出1的概率(此时对应的y=1),那么1−a表示输出0的概率(此时对应的1−y=0),所以交叉熵可以定义成如下形式:

C=−(ylna+(1−y)ln(1−a))
Softmax
softmax用于多分类过程中,它将多个神经元的输出,映射到(0,1)区间内,可以看成概率来理解,从而来进行多分类!
假设我们有一个数组,V,Vi表示V中的第i个元素,那么这个元素的softmax值就是
这里写图片描述这里写图片描述

softmax直白来说就是将原来输出是3,1,-3通过softmax函数一作用,就映射成为(0,1)的值,而这些值的累和为1(满足概率的性质),那么我们就可以将它理解成概率,在最后选取输出结点的时候,我们就可以选取概率最大(也就是值对应最大的)结点,作为我们的预测目标!
这里写图片描述
那么比如在一次的输出过程中输出结点的值是如下:
[0.2,0.1,0.05,0.1,0.2,0.02,0.08,0.01,0.01,0.23]
那么我们就知道这次我选取的动作是动作10,因为0.23是这次概率最大的,那么怎么理解多分类呢?很容易,如果你想选取俩个动作,那么就找概率最大的俩个值即可~(这里只是简单的告诉大家softmax在实际问题中一般怎么应用)
对于分类问题,如果希望输出是类别的概率,那么激活函数选择使用softmax,同时使用log-likelihood作为损失函数。
什么是激活函数
激活函数是用来加入非线性因素的,因为线性模型的表达能力不够。
为什么没有activation function就不能非线性分类
在神经网络当中,
加上非线性激活函数之后, 我们就有可能学习到这样的平滑分类平面.
在激活函数使用sigmoid的前提之下,相比于quadratic cost function, cross entropy cost function具有收敛速度快和更容易获得全局最优(至于为什么更容易获得全局最优,个人感觉有点类似于动量的物理意义,增加收敛的步长,加快收敛的速度,更容易跳过局部最优)的特点。
这里写图片描述
这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值