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

1 线性回归(Linear Regression)1.1 建立问题举个例子,你有这样一组数据:波特兰市的城市住房价格的数据,不同尺寸的房子对应不同的售价。现在你有个朋友想要卖房子,他的房子是1250平方英尺,大概能卖多少钱?我们可以根据这组数据,建立一个模型,然后用这组数据集去拟合模型。拟合完毕后,输入1250,它就会告诉你朋友能卖多少钱。看起来这组数据似乎分布在一条直线附近:好,只要找到这条直线的方程,你就能根据面积来预测房价了。(在这个例子里,直线方程就是我们要拟合的模型)如何找到直线
摘要由CSDN通过智能技术生成

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

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

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

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



1 线性回归(Linear Regression)

1.1 建立问题

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

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

在这里插入图片描述

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

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

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


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

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

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


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



1.2 建立模型

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

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

在这里插入图片描述

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

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

在这里插入图片描述

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

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

在这里插入图片描述

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



1.3 代价函数

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

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

在这里插入图片描述

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

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

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

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

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

再改变一下写法: J ( θ 0 , θ 1 ) = 1 2 m ∑ i = 1 m (    h θ ( x i ) − y i    ) 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 θ0 θ 1 \theta_1 θ

  • 22
    点赞
  • 119
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值