MachineLearningWu_7+8_LogisticRegression/Classification

x.1 logistic regression

对于诸如分辨细胞是恶性肿瘤细胞与否的类似分类问题,我们使用Linear Regression的模型并不合适,所以引入Logistic Regression的模型,并绘制decision boundary,如下,

请添加图片描述

Classification的最后一层,使用sigmoid作为激活函数 g ( z ) = 1 1 + e − z g(z)=\frac{1}{1+e^{-z}} g(z)=1+ez1,使得最终的输出在[0, 1]这很符合概率分布,

请添加图片描述

x.2 decision boundary

我们使用decision boundary来对数据集的类别进行分类,如下我们便是使用z构造了decision boundary,

请添加图片描述
请添加图片描述

x.3 cost function for classification

对于分类问题而言,MSE均方差并不是一个很好的策略/损失函数,以肿瘤分类为例子,我们首先构造数据集如下,

请添加图片描述

如果我们继续使用MSE作为策略/cost function/J(w),那么我们得到的J(w)-w曲线则得到了如右下角的非凸函数,由于存在很多局部最优解(即多个极值),这并不适合收敛,

请添加图片描述

我们引入Logistic loss function使得J(w)-w再次变成convex func凸函数,当y=1时,y_hat属于[0, 1],越远离1,loss越大;当y=0时,y_hat越远离0,loss越大。

请添加图片描述

请添加图片描述

而对于J(w)-w为什么是凸函数的证明,已经超出了本课程的范围,不证明。但是可以在课件中找到,很重要,

但是上面的Loss是一个分段函数,需要两个式子才能组合成上面的loss,我们更希望使用的loss是一个式子,所以我们使用简化表示,将两个式子合并为一个式子,

请添加图片描述

当然你可能想问,为什么会使用这样的损失函数,其实什么样的模型用什么样的cost func都是使用MLE极大似然估计来估计出来的,背后的数学原理很深,你可能知道怎么推导了,也不知道为什么会这么推,我们这里只需要把loss记住便可。

请添加图片描述

x.4 将Gradient Descent应用到Classification中

在有了策略函数cost func后,我们可以将Gradient Descent应用到分类模型上,如下,

请添加图片描述

我们意识到Classification的Gradient Descent中更新参数的方式和Linear Regression是一样的,但是我们也得意识到我们所用模型是完全不同的,同时相同的有向量化加速计算,特征放缩使更容易收敛等知识,

请添加图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/15192.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于Java+Swing+Mysql实现图书管理系统V2.0

基于JavaSwingMysql实现图书管理系统V2.0 一、系统介绍二、功能展示1.项目内容2.项目骨架3.数据库表4.主界面5.添加6、修改7、查询8、删除 四、其它1.其他系统实现五.获取源码 一、系统介绍 本系统主要有对图书信息的增删改查操作功能。 项目类型:Java SE项目&…

多元分类预测 | Matlab 粒子群算法(PSO)优化xgboost的分类预测,多输入单输出模型。PSO-xgboost分类预测模型

文章目录 效果一览文章概述部分源码参考资料效果一览 文章概述 多元分类预测 | Matlab 粒子群算法(PSO)优化xgboost的分类预测,多输入单输出模型。PSO-xgboost分类预测模型 多特征输入单输出的二分类及多分类模型。程序内注释详细,直接替换数据就可以用。程序语言为matlab,程…

软考高级之系统架构师系列之系统配置与性能评价、信息化基础

系统配置与性能评价 性能 计算机系统的性能一般包括两个大的方面: 可用性,也就是计算机系统能正常工作的时间,其指标可以是能够持续工作的时间长度,也可以是在一段时间内,能正常工作的时间所占的百分比处理能力&…

网页版代码编辑器实现

接着前几天写的博客https://blog.csdn.net/woyebuzhidao321/article/details/131495855,提到了涉及vscode网页版工作区创建的api,这两天一时兴起,搞了一个网页版的代码编辑器,如果在2020年10月之前,实现一个网页版代码…

【Java语法小记】求字符串中某个字符的数量——IntStream流的使用

文章目录 引入需求代码原理解读s.chars()IntStream filter​(IntPredicate predicate)long count()补充:IntStream peek​(IntConsumer action) 流操作和管道 引入需求 从一段代码引入 return s.length() - (int) s.chars().filter(c -> c S).count(); 其中 (…

cmake流程控制---cmake数学计算操作和if命令

目录 cmake 数学计算操作 demo if命令 基本表达式 逻辑表达式(NOT AND OR) 比较表达式 正则表达式 demo 文件系统相关 判断是否存在的表达式 cmake 数学计算操作 有时候我们需要对cmake变量之间进行数学运算,这时候cmake提供了math()这个命令,命令格式如下: math(…

SQL-每日一题【584.寻找用户推荐人】

题目 给定表 customer ,里面保存了所有客户信息和他们的推荐人。 写一个查询语句,返回一个客户列表,列表中客户的推荐人的编号都 不是 2。 对于上面的示例数据,结果为: 解题思路 1.题目要求查询列表中客户的推荐人的…

RTL8309M实现VLAN功能-驱动编进内核

部分硬件实现图 一、使内核支持802.1Q功能 1、使用内核kernel版本4.19.232 2、make menuconfig 配置内核 3、进入Networking support 4、进入Networking options 5、把这些都编进内核 6、点击保存退出 CONFIG_GARPy CONFIG_MRPy CONFIG_BRIDGE_VLAN_FILTERINGy CONFIG_VLAN…

Go语言程序设计(五)切片

一、切片的定义 在Go语言中,切片(Slice)是数组的一个引用,它会生成一个指向数组的指针,并通过切片长度关联到底层数组部分或者全部元素。切片还提供了一系列对数组的管理功能(append、copy),可以随时动态扩充存储空间,并且可以被随意传递而不会导致所管理…

C++数据结构笔记(7)——队列的顺序结构实现

1.队列&#xff0c;和现实生活中的规则类似&#xff0c;先进先出 2.队尾只允许元素进入&#xff0c;队头只允许元素退出 3.用数组来实现队列的顺序存储&#xff0c;无论哪一段都可以作为队头或者队尾 SeqQueue.h头文件 #ifndef SEQQUEUE_H #define SEQQUEUE_H #include<…

Linux——进程信号详解

目录 一.进程信号的理解 1.1定义&#xff1a; 1.2举例&#xff1a; 1.3总结&#xff1a; 二.进程信号地使用&#xff1a; 2.1信号种类&#xff1a; 2.2而操作系统向进程发送信号地方式有四种&#xff1a; 2.2.1以键盘的方式向进程发送信号 接下来介绍一个系统调用函数sign…

chrome开发调试小技巧—Replay XHR(重新请求)

一、需求 想要验证一个ajax请求&#xff0c;需要每次都需要在页面点几次才会触发或者刷新页面&#xff0c;着急调试看效果时&#xff0c;可以通过chrome的Replay XHR功能直接同参数重新请求ajax 二、实现 chrome调试工具network下找到要重新发起的ajax请求&#xff0c;右键找…