吴恩达机器学习_5

关于第五章

第五章的内容主要是针对 Octave 的操作方法,视频中使用的是 Octave ,我使用的是 Matlab ,视频中教授的代码在Matlab也适用。相比较之下,在交互方面显然是 Matlab 做的比较好,界面很友好。视频中不推荐 Matlab 是因为它是收费的,但是就中国现在的情况,高校基本都会对在校大学生提供 Matlab ;就算不是高校大学生,也有各种各样的渠道获得,在此不多赘述。

另:向量化的思想个人觉得很重要,还是值得一听的。

逻辑回归(Logistic Regression)

在分类问题中我们要预测的变量y是离散的值,而非连续。我们将会学习一种名为**逻辑回归(Logistic Regression)**的算法。

单类别分类

单类别分类,也就是二元的分类问题,y(因变量)的值要么是0(负向类 negative class),要么是1(正向类 positive class)。

再次我们依然用一个例子解释问题。乳腺肿瘤大小和良性、恶性的分类问题。

为什么不用线性回归?

在这里插入图片描述
假如我们依然使用线性回归的方法去解决这个分类问题,显然我们可以得到一条直线,如上图红色线条,我们可以以0.5为分界线,小于0.5的全部认为是良性,反之则为恶性。
但假设我们在右侧再加上一个样例,显然,恶性和良性的分界线依然是没有改变的,多出来的样例没有提供新的信息。但是再次使用线性回归,得到蓝色线条,可以看到,概率等于0.5的点明显改变了。
除此之外,线性回归拟合出来的函数是线性函数,可能会输出远大于1、远小于0的结果,会让人感到很奇怪。
显然,线性回归并不适用于分类问题

假说函数

下面我们来介绍的逻辑回归 Logistic Regression的一大特点就是,输出的值永远在0和1之间。
逻辑回归的假设是 hθ(x) = h(θTX)
其中,X是特征向量,g是逻辑函数,常用的逻辑函数是S型函数,公式为:
在这里插入图片描述
图像大概是这样。
在这里插入图片描述
hθ(x)的作用是,对于给定的输入变量,根据选择的参数计算出变量 = 1的概率。即hθ(x) = P(y = 1| x ; θ)

判定边界(decision boundary)

下面介绍判定边界的定义,以便更好地的理解逻辑回归。
假如我们有一个模型。
在这里插入图片描述
并且已经确定了,θ = [-3 1 1](具体的计算方法接下来再说,我们先根据这个理解一下判定边界的意义)。
于是我们得到了一条直线(判定边界),如下图。
在这里插入图片描述
如果我们的数据集是这样的。
在这里插入图片描述
显然我们构造了一个曲线作为判定边界。
在这里插入图片描述
我们可以用复杂的模型来适应复杂的判断边界。

代价函数

对于线性函数,我们采用模型误差的平方和来作为误差函数,但如果我们在逻辑回归中使用的话,就会得到一个非凹函数 non-convexfunction
在这里插入图片描述
这个函数有很多局部最小值,显然,当我们对这个函数使用梯度下降的时候,会影响我们寻找全局最小值。

所以我们重新定义代价函数:
在这里插入图片描述
在这里插入图片描述
简单的化简之后,可以把两个式子化为一个式子:
在这里插入图片描述
下面我们要做的就是梯度下降。
在这里插入图片描述
此处的偏导式求解之后是:
在这里插入图片描述
推导过程:
在这里插入图片描述
从结果上来看,这里得到的梯度下降算法和线性回归的算法一样(化简到最后竟然形式是一样的,数学好神奇!),但是需要注意的是,hθ的内涵改变了,所以两者并不相同。

小技巧

在实现梯度下降的时候,我们可以使用for循环来解决,但在理想条件下,更提倡使用向量化的思想来实现。
另外,特征放缩也适用于逻辑回归。如果特征范围差距很大的话,使用特征放缩,梯度下降收敛更快。

多类别分类

这里有一个例子,一个病人因为流鼻涕来到你的诊所看病,他可能没有生病,用y = 1来代表这个类别;可能是感冒,用y = 2来代表这个类别;可能是流感,用y = 3来代表这个类别。(要是按照现在的情况的话应该还要加上一个新冠吧……)

当我们面对二元的分类问题时,我们的数据可能是这样的:
在这里插入图片描述
但是多类别分类时,应该是这样的:
在这里插入图片描述
下面来介绍解决这一类问题的方法,这个方法也被称为一对余方法
我们有三个类别,下面我们要做的就是把它分为3个二元分类问题
我们先从三角形开始,把三角形定为正类,其余全为负类,创建一个新的训练集。
在这里插入图片描述
在按照我们刚刚学的二元分类问题来解决,对于正方型和叉号也一样。最后我们得到一系列模型。
在这里插入图片描述
其中i = 1,2,3……(逻辑回归分类器)
现在我们要做的就是分别在这三个分类器中输入x,选择一个让hθ(i)最大的i。也就是找到概率最大的那一种情况。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值