Logistic Regression 逻辑回归

逻辑回归与线性回归有很多相似的地方。后面会做对比,先将逻辑回归函数可视化一下。

与其所对应的损失函数如下,并将求max转换为min,并转换为求指数形式,便于计算。

最后得到的是两个伯努利分布(function output & target)的交叉熵(两个分布的接近程度,如果分布相同,则交叉熵为0)。

经过求导,最后得到的损失函数的偏导数和线性回归的是形式一致的。将其三个步骤的对比归纳如下

为何用交叉熵而不用平方差,因为逻辑回归模型在求导过程中,没有命中target导数也为0,得到的结果不正确。而且即使不为0,因为微分值小,也会导致迭代速度很慢。

逻辑回归的方法称为Discriminative(判别) 方法;上一篇中用高斯来描述后验概率,称为 Generative(生成) 方法。他们的函数集都是一样的,只是描述方式不同。

如果是逻辑回归,就可以直接用梯度下降法找出w和b;如果是概率生成模型,像上篇那样求出 \(μ^1, μ^2\),协方差矩阵的逆,然后就能算出w和b。

因为中间经过的步骤不同,所以最后得到的结果准确率也有所区别。

下面这个例子说明,用贝叶斯方法在计算概率的时候,机器“脑补”了数据量不足所掩盖的可能性。

判别比生成好吗?生成方法相比于判别方法,需要的训练数据量更小,鲁棒性更好,先验和类相关的概率可以从不同的来源计算。
比如语音识别中计算先验概率,用的生成方法,并不全是DNN。

多分类问题

Softmax是进行exponential(指数化),将exponential 的结果相加,再分别用 exponential 的结果除以相加的结果。
原本\(z_1,z_2,z_3\)可以是任何值,但做完Softmax之后输出会被限制住,都介于0到1之间,并且和是1。Softmax就是对最大值进行强化。
指数簇分布的最大熵等价于其指数形式的最大似然界,应用如二项式的sigmoid, 多项式的softmax。

\(\hat{y}\)也定义成矩阵形式,计算交叉熵。

如果说两个类别分布在两个对角线的两端,则需要先进行特征转换,多加一层操作,深度学习的神经网络就是类似这样的多层操作。

【笔记】机器学习 - 李宏毅 - 6 - Logistic Regression的更多相关文章

  1. [机器学习] Coursera ML笔记 - 逻辑回归(Logistic Regression)

    引言 机器学习栏目记录我在学习Machine Learning过程的一些心得笔记,涵盖线性回归.逻辑回归.Softmax回归.神经网络和SVM等等.主要学习资料来自Standford Andrew N ...

  2. 机器学习技法笔记:05 Kernel Logistic Regression

    Roadmap Soft-Margin SVM as Regularized Model SVM versus Logistic Regression SVM for Soft Binary Clas ...

  3. Andrew Ng机器学习编程作业:Logistic Regression

    编程作业文件: machine-learning-ex2 1. Logistic Regression (逻辑回归) 有之前学生的数据,建立逻辑回归模型预测,根据两次考试结果预测一个学生是否有资格被大 ...

  4. 机器学习实战python3 Logistic Regression

    代码及数据:https://github.com/zle1992/MachineLearningInAction logistic regression 优点:计算代价不高,易于理解实现,线性模型的一 ...

  5. Andrew Ng机器学习 二: Logistic Regression

    一:逻辑回归(Logistic Regression) 背景:假设你是一所大学招生办的领导,你依据学生的成绩,给与他入学的资格.现在有这样一组以前的数据集ex2data1.txt,第一列表示第一次测验 ...

  6. Python_sklearn机器学习库学习笔记(三)logistic regression(逻辑回归)

    # 逻辑回归 ## 逻辑回归处理二元分类 %matplotlib inline import matplotlib.pyplot as plt #显示中文 from matplotlib.font_m ...

  7. 机器学习简要笔记(五)——Logistic Regression(逻辑回归)

    1.Logistic回归的本质 逻辑回归是假设数据服从伯努利分布,通过极大似然函数的方法,运用梯度上升/下降法来求解参数,从而实现数据的二分类. 1.1.逻辑回归的基本假设 ①伯努利分布:以抛硬币为例 ...

  8. 吴恩达机器学习笔记14-逻辑回归(Logistic Regression)

    在分类问题中,你要预测的变量

  9. 逻辑回归 logistic regression(1)逻辑回归的求解和概率解释

    本系列内容大部分来自Standford公开课machine learning中Andrew老师的讲解,附加自己的一些理解,编程实现和学习笔记. 第一章 Logistic regression 1.逻辑 ...

随机推荐

  1. HTTP协议简单理解

    1.概念: “超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议.所有的WWW文件都必须遵守这个标准. 设计HTTP最初的目的是为了 ...

  2. LUA学习笔记(第1-4章)

    需要一种简单的脚本语言来代替批处理,它需要足够小巧,同时功能上也应该足够强劲,自然选择了LUA语言. 第一章 Hello World print('Hello World') print(" ...

  3. 学习CSS之用CSS绘制一些基本图形

    一.三角形 如下图,通过设置 border 的大小和颜色可以形成四个三角形: 上图对应的代码为: /* 三角形 */ .triangle {     width: 0;     height: 0; ...

  4. CBAM(Convolutional Block Attention Module)使用指南

    转自知乎 这货就是基于 SE-Net [5]中的 Squeeze-and-Excitation module 来进行进一步拓展 具体来说,文中把 channel-wise attention 看成是教 ...

  5. BZOJ 1025 [SCOI2009]游戏 (DP+分解质因子)

    题意: 若$a_1+a_2+\cdots+a_h=n$(任意h<=n),求$lcm(a_i)$的种类数 思路: 设$lcm(a_i)=x$, 由唯一分解定理,$x=p_1^{m_1}+p_2^{ ...

  6. 文本相似性热度统计(python版)

    0. 写在前面 节后第一篇,疫情还没结束,黎明前的黑暗,中国加油,武汉加油,看了很多报道,发现只有中国人才会帮助中国人,谁说中国人一盘散沙?也许是年龄大了,看到全国各地的医务人员源源不断的告别家人去支 ...

  7. 第2章 Java并行程序基础(一)

    2.1 有关线程你必须知道的事 进程是系统进行资源分配和调度的基本单位,是程序的基本执行实体. 线程就是轻量级进程,是程序执行的最小单位. 线程的生命周期,如图2.3所示. 线程的所有状态都在Thre ...

  8. 【Bullet引擎】刚体类 —— btRigidBody

    btRigidBody类主要用于刚体数据的计算. 在模拟刚体动画过程中,可以使用btRigidBody类获取所保存的刚体对象,进而控制刚体对象的旋转和位移.进行刚体模拟计算需要经常用到此类. API: ...

  9. javascript 客户端webSocket示例

    //html <script> // 初始化一个 WebSocket 对象 var ws = new WebSocket("ws://localhost:9998/echo&qu ...

  10. numpy 介绍与使用

    一.介绍 中文文档:https://www.numpy.org.cn/ NumPy是Python语言的一个扩展包.支持多维数组与矩阵运算,此外也针对数组运算提供大量的数学函数库.NumPy提供了与Ma ...