首页 > 其他分享 >机器学习 吴恩达 第五章 笔记

机器学习 吴恩达 第五章 笔记

时间:2023-01-11 00:56:39浏览次数:42  
标签:吴恩达 函数 回归 分类 笔记 第五章 拟合 theta 我们

五、逻辑回归(Logistic Regression)

5.1 分类问题

  在接下来的几节里,我想讨论要预测的变量\(y\)是一个离散值的分类问题.接下来就是讨论逻辑回归算法.
  在分类问题中,我们尝试预测的是结果是否属于某一个类(例如正确或错误).分类问题的例子有:判断一封电子邮件是否是垃圾邮件;判断一次金融交易是否是欺诈;之前我们也谈到了肿瘤分类问题的例子,区别一个肿瘤是恶性的还是良性的.

  我们从二元的分类问题开始讨论:
  我们将\(y\)的范围确定是属于{0,1}两个数.我们常常用0表示没有某种属性,而1表示有我们要寻找的属性.
  我们将因变量(dependent variable)可能属于的两个类分别称为负向类(negative class)和正向类(positive class),则因变量\(y \in 0,1\).其中0表示负向类,1表示正向类.
  如果我们要用线性回归算法来解决一个分类问题,我们会想到用一条直线取拟合数据.如果想要作出预测,一个做法是设置一个阈值,如果阈值,我们设置为正类(如下所示),小于阈值设置为反类.
image
  在上图预测肿瘤性质的例子里,线性回归的预测效果似乎还可以.但如果我们把横轴延长一点,假设有另一个训练样本位于右方远处,如果在此样本运行线性回归,就会得到另外一条直线(蓝色)去拟合数据.如果阈值没有改变(仍为$ h_{\theta}(x) = 0.5$),这样的拟合效果就比较差劲.在右方远处的样本没有提供什么有用的信息,但它使得拟合效果不佳.所以考虑到上述问题,将线性回归用于分类问题,通常不是一个好主意.
  接下来再思考一个问题,如果我们将线性回归用于分类问题会怎么样?对于分类,y取值0或1.但如果你使用的是线性回归,那么假设函数的输出值可能远大于1,或者远小于0.即使所有训练样本的标签y都等于0或等于1.尽管我们知道y应该取值0 或者1,但是如果算法得到的值远大于1或者远小于0的话,就会感觉很奇怪.在后面几节,我们将介绍逻辑回归算法,这个算法的性质是:它的输出值永远在0到1之间.

5.2 假设陈述

  在本节,我要给你展示假设函数的表达式,也就是说,在分类问题中,要用什么样的函数来表示我们的假设.此前我们说过,希望我们的分类器的输出值在0和1之间.因此,我们希望想出一个满足某个性质的假设函数,这个性质是它的预测值要在0和1之间.
  当我们使用线性回归时,假设看起来是这样:

\[h_{\theta}(x) = \theta^Tx \]

这里我们打算修改一点来获得逻辑回归函数,也就是把\(\theta^Tx\)当作g函数(逻辑函数 logistic function)的参数.即:

\[h_{\theta}(x) = g(\theta^TX) \]

逻辑函数也称为\(S\)形函数(Sigmoid function),如果我们将\(z = \theta^TX\),那么:

\[g(z) = \frac{1}{1+e^{-z}} \]

  如果我们将上面两式联立的话,就会得到:

\[h_{\theta}(x) = \frac{1}{1+e^{-\theta^TX}} \]

科普一下:sigmoid函数可以将一个实数映射到[0,1]的区间,可以用来做二分类.

  该函数的图像为:
image

  我们需要用参数\(\theta\)来拟合我们的数据.所以拿到训练集时,我们需要给参数\(\theta\)设定一个值.
  稍后我们会学习一个方法,帮助我们拟合参数\(\theta\).但现在我们先讨论对这个模型的解释:
  当我们的假设\(h_{\theta}(x)\)输出一个数,我们会把它当作,对于一个输入\(x\),y输出1的概率估计.
  例如,如果对于给定的\(x\),通过已经确定的参数计算得出$ h_{\theta}(x) = 0.7$.则表示有70%的几率,y为正向类.相应地,y为负向类的几率为1-0.7=0.3.
image

  用数学的方法表示就是
image

这里解释一下\(P(y=1|x;\theta)\)是什么意思.我们可以参考正态分布的概率密度函数.image.这个函数里有两个参数,均值\(\mu\)和方差\(\sigma\).通过调节这两个参数的取值,我们可以得到不一样的正态分布.以这个概率密度函数也可以用\(f_x(x; \mu , \sigma )\)表示.

6.3 决策界限

  本节我们来讲述一下决策界限(decision boundary)的概念:

标签:吴恩达,函数,回归,分类,笔记,第五章,拟合,theta,我们
From: https://www.cnblogs.com/newblg/p/17042637.html

相关文章

  • 第五章(数据)[下]-结构体
    结构体(struct)将多个不同类型命名字段序列打包成一个复合类型字段名唯一,可用"_"补位,字段名排列顺序属于类型组成部分typenodestruct{ _int namestring......
  • 进阶阶段——STM32学习笔记(一)
    进阶阶段——STM32学习笔记(1)前言由于套件放在学校,待等假期结束后才能做实验0STM32简介注意:STM32的标准工作电压为3.3V,若用5V供电,需要用(电平转换电路)稳压芯片降压至3.3......
  • 笔记本s3睡眠
    windows+s–》输入regedit–》找到HKLM/System/CurrentControlSet/Control/Power–>将PlatformAoAcOverride设置为0如果没有PlatformAoAcOverride,windows+s搜索cmd.exe,以......
  • 论文笔记:Symbolic Execution for Software Testing: Three Decades Later
    论文笔记:SymbolicExecutionforSoftwareTesting:ThreeDecadesLater这是一篇综述性质的文章,介绍了符号执行相关技术。1.Introduction2.OverviewofClassicalSy......
  • CSAPP MallocLab 笔记
    CSAPPMallocLab笔记CS15-213labnotessbrk函数为了实现动态的内存分配,一个核心的函数就是sbrk。memoryalignment8字节对齐的地址特征,其地址数值的16进制表......
  • win7笔记本、台式机装centos7过程记录
    1、国内镜像网站下载centos的iso文件 链接点我;2、找个u盘,格式化为NTFS格式,这样才能传4G以上大小的文件3、iso直接复制到u盘是不行的,必须做启动盘。下载个ultra做,官网地......
  • RabbitMQ学习笔记04:Publish/Subscribe
    参考资料:RabbitMQtutorial-Publish/Subscribe—RabbitMQ   前言在RabbitMQ学习笔记03:WorkQueues中,每个进入队列中的消息只会被投递给一个消费者进程。而在......
  • JavaScript学习笔记—运算符
    运算符(操作符):可以用来对一个或多个操作数(值)进行运算1.算术运算符:+加法运算符-减法运算符*乘法运算符/触发运算符**幂运算%模运算算术运算时,除了字符串的加......
  • FILIP: FINE-GRAINED INTERACTIVE LANGUAGEIMAGE PRE-TRAINING论文阅读笔记
    摘要目前的图像文本预训练模型通常通过每个模态全局特征的相似性来建模跨模态的交互,然而这会导致缺乏足够的信息;或者通过在视觉/文本token上使用跨模态注意力/自注意力来......
  • Python 学习笔记
    最早是在大一的时候接触Python,最初是看的廖雪峰的Python教程,草草学习了几天,自那以后就再也没有学过Python语言了。虽然没怎么学,但是用起来也不算太难,遇到不会的就查。......