《机器学习by周志华》学习笔记-线性模型-02

2024-04-18 06:12

本文主要是介绍《机器学习by周志华》学习笔记-线性模型-02,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1、对数几率回归

1.1、背景

上一节我们考虑了线性模型的回归学习,但是想要做分类任务就需要用到上文中的广义线性模型。

当联系函数g(\cdot )连续且充分光滑,考虑单调可微函数g(\cdot ),令:

y=g^{-1}(w^{T}+b)

1.2、概念

找一个单调可谓函数g(\cdot ),将分类任务的真实标记y_{i}与线性回归模型的预测值f(xi)联系起来,也叫做「Heaviside函数」。

在二分类任务中,输出的真实标记y_{i}\in \left \{ 0,1 \right \},而线性回归模型产生的预测值f(x)=w^{T}+b是实数值。于是我们将f(x)转化为0、1值。最理想的情况就是「单位阶跃函数(unit-step function)」,如下所示:

y=\begin{cases} 0, \text{ f(x)< 0 } \\ 0.5, \text{ f(x)= 0 } \\ 1, \text{ f(x)> 0 } \end{cases}

        若f(x)> 0,就判为正例;

        若f(x)< 0,就判为反例;

        若f(x)= 0,则可任意判别;

        如下图所示(红色部分)

黑色部分函数,则称为「对数几率函数」,简称「对率函数」。

从上图可以看出,「单位阶跃函数(unit-step function)」(2条红线+一个点)不连续,因此不能直接用做g^{-1},我们可以在上图中,用「单位阶跃函数」的「替代函数」(对率函数)来用作g^{-1}。并且需要该函数单调可微。可得出:

g^{-1}=y=\frac{1}{1+e^{-f(x)}}=\frac{1}{1+e^{-(w^{T}+b)}}

Sigmoid函数:

Sigmoid函数即S形函数。「对率函数」是Sigmoid函数最重要的代表。我们将会在后面「神经网络」将看到他在神经网络中的重要作用。

综上所述,「对率函数」将f(x)转化为一个接近0或1的y值。并且值得范围在f(x)=0附近变化斜率高。

上述式子可以变化为:

ln\frac{g^{-1}}{1-g^{-1}}=w^{T}+b

g^{-1}视作样本x为正例的可能性。则1-g^{-1}视作样本x为负例的可能性。两者的比值:

\frac{g^{-1}}{1-g^{-1}}

称为「几率(odds)」

几率(odds):

Odds=P/(1-P)

Odds(几率)的计算公式为Odds=P/(1-P),这里的P是指某个事件发生的概率。

Odds是用来表示一个事件发生与不发生的比例,当P=0.5时,Odds=1,当P=0,则Odds趋向于无穷大,反之,当P=1,则Odds趋向于0。

对几率(odds)取对数,则得到了「对数几率(log odds)」,也叫做logit。如下表示:

ln\frac{g^{-1}}{1-g^{-1}}

上述式子,有文献译为「逻辑回归」。但中文「逻辑」与logisitic和logit的含义较大,此处作者翻译为「对数几率回归」,简称「对率回归」。

因为ln\frac{g^{-1}}{1-g^{-1}}=w^{T}+b中的w^{T}+b=y,故我们可以得出:

该等式左边是:线性回归模型的预测结果

而等式右边是:该模型的真实标记yi

因此,我们得出的公式结果,实际上就是在用线性回归模型的预测结果,去逼近真实标记yi的对数几率。所以其对应的模型称为「对数几率回归」。

需要注意的是,它的名字中虽然有回归,但实际是却是一种分类学习方法。其优点如下:

  • 他是直接对分类可能性进行建模,无需事先假设数据分布,这样就避免分布不准确所带来的问题。
  • 它不仅是预测出「类别」,而是可得到近似概率预测,这对许多需利用概率辅助决策的任务很有用。
  • 此外,对数函数是任意阶可导的凸函数,有很好的数学性质,现有的许多数值优化算法都可直接用于求取最优解。

1.3、求解

根据1.2的概念,本章主要求解公式中的w和b。如果我们将上述式子中的g^{-1}视为「后验概率」估计p(y=1|x),,则上述式子可以重写为:

这篇关于《机器学习by周志华》学习笔记-线性模型-02的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/913974

相关文章

0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型的操作流程

《0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeekR1模型的操作流程》DeepSeekR1模型凭借其强大的自然语言处理能力,在未来具有广阔的应用前景,有望在多个领域发... 目录0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型,3步搞定一个应

Deepseek R1模型本地化部署+API接口调用详细教程(释放AI生产力)

《DeepseekR1模型本地化部署+API接口调用详细教程(释放AI生产力)》本文介绍了本地部署DeepSeekR1模型和通过API调用将其集成到VSCode中的过程,作者详细步骤展示了如何下载和... 目录前言一、deepseek R1模型与chatGPT o1系列模型对比二、本地部署步骤1.安装oll

Java深度学习库DJL实现Python的NumPy方式

《Java深度学习库DJL实现Python的NumPy方式》本文介绍了DJL库的背景和基本功能,包括NDArray的创建、数学运算、数据获取和设置等,同时,还展示了如何使用NDArray进行数据预处理... 目录1 NDArray 的背景介绍1.1 架构2 JavaDJL使用2.1 安装DJL2.2 基本操

Spring AI Alibaba接入大模型时的依赖问题小结

《SpringAIAlibaba接入大模型时的依赖问题小结》文章介绍了如何在pom.xml文件中配置SpringAIAlibaba依赖,并提供了一个示例pom.xml文件,同时,建议将Maven仓... 目录(一)pom.XML文件:(二)application.yml配置文件(一)pom.xml文件:首

如何在本地部署 DeepSeek Janus Pro 文生图大模型

《如何在本地部署DeepSeekJanusPro文生图大模型》DeepSeekJanusPro模型在本地成功部署,支持图片理解和文生图功能,通过Gradio界面进行交互,展示了其强大的多模态处... 目录什么是 Janus Pro1. 安装 conda2. 创建 python 虚拟环境3. 克隆 janus

本地私有化部署DeepSeek模型的详细教程

《本地私有化部署DeepSeek模型的详细教程》DeepSeek模型是一种强大的语言模型,本地私有化部署可以让用户在自己的环境中安全、高效地使用该模型,避免数据传输到外部带来的安全风险,同时也能根据自... 目录一、引言二、环境准备(一)硬件要求(二)软件要求(三)创建虚拟环境三、安装依赖库四、获取 Dee

DeepSeek模型本地部署的详细教程

《DeepSeek模型本地部署的详细教程》DeepSeek作为一款开源且性能强大的大语言模型,提供了灵活的本地部署方案,让用户能够在本地环境中高效运行模型,同时保护数据隐私,在本地成功部署DeepSe... 目录一、环境准备(一)硬件需求(二)软件依赖二、安装Ollama三、下载并部署DeepSeek模型选

Golang的CSP模型简介(最新推荐)

《Golang的CSP模型简介(最新推荐)》Golang采用了CSP(CommunicatingSequentialProcesses,通信顺序进程)并发模型,通过goroutine和channe... 目录前言一、介绍1. 什么是 CSP 模型2. Goroutine3. Channel4. Channe

Python基于火山引擎豆包大模型搭建QQ机器人详细教程(2024年最新)

《Python基于火山引擎豆包大模型搭建QQ机器人详细教程(2024年最新)》:本文主要介绍Python基于火山引擎豆包大模型搭建QQ机器人详细的相关资料,包括开通模型、配置APIKEY鉴权和SD... 目录豆包大模型概述开通模型付费安装 SDK 环境配置 API KEY 鉴权Ark 模型接口Prompt

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert