线性回归和逻辑回归

本文参考链接:https://blog.csdn.net/jiaoyangwm/article/details/81139362

线性回归和逻辑回归

 

线性回归

利用大量的样本D=(xi,yi)Ni=1D={(x_i,y_i)}_{i=1}^ND=(xi​,yi​)i=1N​,通过有监督的学习,学习到由x到y的映射fff,利用该映射关系对未知的数据进行预估,因为y为连续值,所以是回归问题。

  • 单变量情况:
    这里写图片描述

  • 多变量情况:

二维空间的直线,转化为高维空间的平面
这里写图片描述

2.1 线性回归的表达式

机器学习是数据驱动的算法,数据驱动=数据+模型,模型就是输入到输出的映射关系。

模型=假设函数(不同的学习方式)+优化

1. 假设函数

线性回归的假设函数(θ0\theta_0θ0​表示截距项,x0=1x_0=1x0​=1,方便矩阵表达):f(x)=θ0x0+θ1x1+θ2x2...+θnxnf(x)=\theta_0x_0+\theta_1x_1+\theta_2x_2...+\theta_nx_nf(x)=θ0​x0​+θ1​x1​+θ2​x2​...+θn​xn​

向量形式(θ,x\theta,xθ,x都是列向量):f(x)=θTxf(x)=\theta^Txf(x)=θTx

2. 优化方法

监督学习的优化方法=损失函数+对损失函数的优化

3. 损失函数

如何衡量已有的参数θ\thetaθ的好坏?

利用损失函数来衡量,损失函数度量预测值和标准答案的偏差,不同的参数有不同的偏差,所以要通过最小化损失函数,也就是最小化偏差来得到最好的参数。

映射函数:hθ(x)h_{\theta}(x)hθ​(x)

损失函数:J(θ0,θ1,...,θn)=12m∑mi=1(hθ(x(i))−y(i))2J(\theta_0,\theta_1,...,\theta_n)=\frac{1}{2m}\sum_{i=1}^m(h_{\theta}(x^{(i)})-y^{(i)})^2J(θ0​,θ1​,...,θn​)=2m1​i=1∑m​(hθ​(x(i))−y(i))2

解释:因为有m个样本,所以要平均,分母的2是为了求导方便

损失函数:凸函数

4. 损失函数的优化

损失函数如右图所示,是一个凸函数,我们的目标是达到最低点,也就是使得损失函数最小。
这里写图片描述
多元情况下容易出现局部极值

这里写图片描述

求极值的数学思想,对公式求导=0即可得到极值,但是工业上计算量很大,公式很复杂,所以从计算机的角度来讲,求极值是利用梯度下降法。

这里写图片描述

① 初始位置选取很重要

② 复梯度方向更新,二维情况下,函数变换最快的方向是斜率方向,多维情况下就成为梯度,梯度表示函数值增大的最快的方向,所以要在负梯度方向上进行迭代。

③ θ\thetaθ的更新公式如上图,每个参数θ1,θ2...\theta_1,\theta_2...θ1​,θ2​...都是分别更新的

高维情况:梯度方向就是垂直于登高线的方向
这里写图片描述
参数更新示例:
这里写图片描述
对每个theta都进行更新:
这里写图片描述

学习率:

① 学习率太大,会跳过最低点,可能不收敛
② 学习率太小收敛速度过慢

5. 过拟合和欠拟合

这里写图片描述
过拟合的原因:

① 如果我们有很多的特征或模型很复杂,则假设函数曲线可以对训练样本拟合的非常好,学习能力太强了,但是丧失了一般性。
② 眼见不一定为实,训练样本中肯定存在噪声点,如果全都学习的话肯定会将噪声也学习进去。

过拟合造成什么结果:

过拟合是给参数的自由空间太大了,可以通过简单的方式让参数变化太快,并未学习到底层的规律,模型抖动太大,很不稳定,variance变大,对新数据没有泛化能力。

6. 利用正则化解决过拟合问题

正则化的作用:

① 控制参数变化幅度,对变化大的参数惩罚

② 限制参数搜索空间

添加正则化的损失函数:
J(θ0,θ1,...,θn)=12m∑mi=1(hθ(x(i))−y(i))2+λ2m∑nj=1θ2jJ(\theta_0,\theta_1,...,\theta_n)=\frac{1}{2m}\sum_{i=1}^m(h_{\theta}(x^{(i)})-y^{(i)})^2+ \frac{\lambda}{2m}\sum_{j=1}^n \theta_j^2J(θ0​,θ1​,...,θn​)=2m1​i=1∑m​(hθ​(x(i))−y(i))2+2mλ​j=1∑n​θj2​

m:样本有m个
n:n个参数,对n个参数进行惩罚
λ\lambdaλ:对误差的惩罚程度,λ\lambdaλ越大对误差的惩罚越大,容易出现过拟合,λ\lambdaλ越小,对误差的惩罚越小,对误差的容忍度越大,泛化能力好。

逻辑回归

监督学习,解决二分类问题。

分类的本质:在空间中找到一个决策边界来完成分类的决策

逻辑回归:线性回归可以预测连续值,但是不能解决分类问题,我们需要根据预测的结果判定其属于正类还是负类。所以逻辑回归就是将线性回归的(−∞,+∞)(-\infty,+\infty)(−∞,+∞)结果,通过sigmoid函数映射到(0,1)(0,1)(0,1)之间。

线性回归决策函数:hθ(x)=θTxh_{\theta}(x)=\theta^Txhθ​(x)=θTx

将其通过sigmoid函数,获得逻辑回归的决策函数:hθ(x)=11+e−θTxh_{\theta}(x)=\frac{1}{1+e^{-\theta^Tx}}hθ​(x)=1+e−θTx1​

为什么使用sigmoid函数:
这里写图片描述
① 可以对(−∞,+∞)(-\infty,+\infty)(−∞,+∞)结果,映射到(0,1)(0,1)(0,1)之间,作为概率。

② x&lt;0,sigmoid(x)&lt;12;x>0,sigmoid(x)>12x&lt;0,sigmoid(x)&lt;\frac{1}{2};x&gt;0,sigmoid(x)&gt;\frac{1}{2}x<0,sigmoid(x)<21​;x>0,sigmoid(x)>21​,可以将12\frac{1}{2}21​作为决策边界。

③ 数学特性好,求导容易:g′(z)=g(z)⋅(1−g(z))g&#x27;(z)=g(z)\cdot(1-g(z))g′(z)=g(z)⋅(1−g(z))
这里写图片描述

3.1 逻辑回归的损失函数

线性回归的损失函数为平方损失函数,如果将其用于逻辑回归的损失函数,则其数学特性不好,有很多局部极小值,难以用梯度下降法求最优。
这里写图片描述
这里写图片描述

逻辑回归损失函数:对数损失函数

这里写图片描述

解释:如果一个样本为正样本,那么我们希望将其预测为正样本的概率p越大越好,也就是决策函数的值越大越好,则logp越大越好,逻辑回归的决策函数值就是样本为正的概率;

如果一个样本为负样本,那么我们希望将其预测为负样本的概率越大越好,也就是(1-p)越大越好,即log(1-p)越大越好。

为什么要用log:

样本集中有很多样本,要求其概率连乘,概率为(0,1)间的数,连乘越来越小,利用log变换将其变为连加,不会溢出,不会超出计算精度。

逻辑回归损失函数:

这里写图片描述

这里写图片描述
∂J(θ)∂θj=1m[∑mi=1(hθ(x(i))−y(i))x(i)j]\frac{\partial J(\theta)}{\partial \theta_j}=\frac{1}{m}[\sum_{i=1}^m(h_{\theta}(x^{(i)})-y^{(i)})x_j^{(i)}]∂θj​∂J(θ)​=m1​[∑i=1m​(hθ​(x(i))−y(i))xj(i)​]

3.2 逻辑回归实现多分类

这里写图片描述

  • 一对一(one vs one)

一对一分类,每两个类之间构建一个分类器,共需要N(N−1)2\frac{N(N-1)}{2}2N(N−1)​个分类器

  • 一对多(one vs rest)

一对多分类器,每个分类器判断是三角形还是不是三角形,共需要N个分类器。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

SUNNY小飞

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值