线性回归(Linear Regression)和逻辑回归(Logistic Regression)

本文详细介绍了线性回归和逻辑回归的概念和应用。线性回归用于拟合数据,通过最小化平方误差函数找到最佳模型参数。逻辑回归则是用于分类问题,通过sigmoid函数转换输出并利用交叉熵作为代价函数。两者都采用梯度下降法进行参数优化,但逻辑回归的代价函数是非凸的,需要特殊处理。

在这里插入图片描述
先举两个简单的例子,看上面的图片。

线性回归主要功能是拟合数据
逻辑回归主要功能是区分数据,找到决策边界。

线性回归的代价函数常用平方误差函数
逻辑回归的代价函数常用交叉熵

参数优化的方法都是常用梯度下降



1 线性回归(Linear Regression)

1.1 建立问题

举个例子,你有一组面积&房价的数据。

现在你有个朋友想要卖房子,他的房子是1250平方英尺,大概能卖多少钱?

在这里插入图片描述

我们可以根据这组数据,建立一个模型,然后用这组数据集去拟合模型。拟合完毕后,输入1250,它就会告诉你朋友能卖多少钱。

看起来这组数据似乎分布在一条直线附近:
在这里插入图片描述
好,只要找到这条直线的方程,你就能根据面积来预测房价了。(在这个例子里,直线方程就是我们要拟合的模型)

如何找到直线方程?方法就是,线性回归


补充讲一下,这是一个属于监督学习(Supervised Learning)的问题:每个例子都有一个 “正确答案”,我们知道每一个面积对对应一个确定的房价。

而且这还是一个回归问题(Regression Problem)。回归问题指的是,我们预测一个具体的数值输出,也就是房价。

另外再讲一下,监督学习中还有一种被称为分类问题(Classification Problem),我们用它来预测离散值输出。比如观察肿瘤的大小,来判断是良性还是恶性的,输出只有2种:[0]良性,[1]恶性。


然后,这是你的数据集:
在这里插入图片描述



1.2 建立模型

现在有一个假设函数 hhh,它的英文名叫 hypothesis。至于为什么叫 hypothesis,这是一个历史问题,反正机器学习里面都这样叫的。

我们要做的是,通过训练集+机器学习算法,学习到这个函数,即 y=h(x)y=h(x)y=h(x)。并且输入和输出的值满足上面的数据集表格。

在这里插入图片描述

函数 hhh 应该长什么样子?在这个例子里它是这样的:hθ(x)=θ0+θ1x(1)h_{\bm{\theta}}(x)=\theta_0 + \theta_1 x \tag{1}hθ(x)=θ0+θ1x(1)下标 θ\bm{\theta}θ 的意思是,函数 hhh 的参数是 θ\bm{\theta}θ(在这个例子里 θ\bm{\theta}θ 包括 θ0\theta_0θ0θ1\theta_1θ1,是两个常数)。

显而易见它是一个直线方程

在这里插入图片描述

有时候 θ\bm{\theta}θ 不止 2 个,例如 hθ(x)=θ0+θ1x+θ2x2+θ3x3...h_{\bm{\theta}}(x)=\theta_0 + \theta_1 x + \theta_2 x^2 + \theta_3 x^3 ...hθ(x)=θ0+θ1x+θ2x2+θ3x3... 但是在这个例子里不需要这么复杂的函数。

它是一条简单的直线,不包含非线性项(xxx的平方、xxx的三次方之类的)。(所以也叫线性回归?)
而且只有一个输入变量 xxx,又叫做单变量线性回归。

在这里插入图片描述

现在数据也有了,模型也有了,我们要做的事情就是利用已知数据找到这两个参数: θ0\theta_0θ0θ1\theta_1θ1



1.3 代价函数

我们知道,选择不同的 θ0\theta_0θ0θ1\theta_1θ1 的组合,会得到不同的直线:
在这里插入图片描述

这几条直线都不是我们想要的,我们要找的直线应该像这样:

在这里插入图片描述

假设每个数据点到直线的距离为 did_idi,把所有距离加起来: ∑di\sum d_idi

调整直线,重新计算 ∑di\sum d_idi,当直线处于某个位置时,算到的 ∑di\sum d_idi 最小,这条直线就对了。

假设有 iii 个样本,每个样本用 (xi,yi)(x^i,y^i)(xi,yi) 表示。则:di=(  hθ(xi)−yi  )2d_i = \left( \; h_{\bm{\theta}}\left(x^i\right)- y^i \;\right)^2di=(hθ(xi)yi)2
之所以取平方,是因为我们要的距离应该是正数,而直接相减可能有正有负。
(取绝对值也可以,不过取平方方便后面计算。)
(这看起来很像最小二乘法)

把所有样本加起来:∑i=1mdi=∑i=1m(  hθ(xi)−yi  )2 \sum^{m}_{i=1} d_i= \sum^{m}_{i=1} \left( \; h_{\bm{\theta}}\left(x^i\right)- y^i \;\right)^2i=1mdi=i=1m(hθ(xi)yi)2其中 mmm 表示我们有 mmm 个样本。

所以我们的任务是:找到一组合适的 θ0\theta_0θ0θ1\theta_1θ1 ,使上面求和的结果最小。

再改变一下写法:J(θ0,θ1)=12m∑i=1m(  hθ(xi)−yi  )2(2) \color{red}{J(\theta_0, \theta_1)=\frac{1}{2m} \sum^{m}_{i=1} \left( \; h_{\bm{\theta}}\left(x^i\right)- y^i \;\right)^2 }\tag{2}J(θ0,θ1)=2m1i=1m(hθ(xi)yi)2(2)

意思也是一样,要找一组 θ0\theta_0

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值