七,专著研读(Logistic回归)

  • 分类:k-近邻算法,决策树,朴素贝叶斯,Logistic回归,支持向量机,AdaBoost算法。
  • 运用
    • k-近邻算法,使用距离计算来实现分类
    • 决策树,构建直观的树来分类
    • 朴素贝叶斯,使用概率论构建分类器
    • Logistic回归,主要是通过寻找最优参数来正确分类原始数据
  • 逻辑回归(Logistic Regression):虽然名字中有“回归”两个字,但是它擅长处理分类问题。LR分类器适用于各项广义上的分类任务,例如:评论信息的正负情感分析,用户点击率,用户违约信息预测,垃圾邮件检测疾病预测,用户等级分类(二分类)。
  • 逻辑回归和线性回归本质都是得到一条直线,不同的是线性回归的直线是尽可能去拟合输入变量x的分布,使得训练集中所有样本点到直线的距离最短;而逻辑回归的直线尽可能去拟合决策边界,使得训练集中的样本点尽可能的分开。两者目的不同。
  • 二分类情况下:单位阶跃函数(海威赛德阶跃函数)。sigmoid函数较为容易处理。
    • sigmoid函数公式

      $ f(x)=\frac{1}{1+e^{-x}}$
  • 逻辑回归:通过将线性模型和sigmoid函数结合,可以得到逻辑回归公式:

    $ y=\frac{1}{1+e^{-(\omega x+b)}}$

    y就是(0,1)的取值。
    进行变换(左右乘log),可得

    $ log\frac{y}{1-y}=\omega x+b$

    这是一个对数几率的公式。
  • 二项Logistic回归

    \(P(y=0|x)=\frac{1}{1+e^{\omega x}}\)


    $ P(y=1|x)=\frac{e^{\omega x}}{1+e^{\omega x}}$
  • 多项Logistic回归

    \(P(y=k|x)=\frac{e^{\omega x}}{1+\sum_{k-1}^{K-1}e^{\omega _{k} x}}\)


    $ P(y=K|x)=\frac{1}{1+\sum_{k-1}^{K-1}e^{\omega _{k} x}}$
  • LR与线性回归的区别
    • 逻辑回归和线性回归是两类模型,逻辑回归是分类模型,线性回归是回归模型。
  • LR损失函数:使用损失函数预测模型的好坏,衡量真实值和预测值之间差距的函数,损失函数越小,模型就越好,最小损失0。

    $ -log(x),y=1$


    \(-log(1-x),y=0\)
  • 把上边两个损失函数综合起来:

    \(-[ylog(x)+(1-ylog(1-x)]\)

    y是标签,分别取0,1。对于m个样本,总的损失函数为:

    \(J(\Theta )=-\frac{1}{m}\sum_{i=1}^{m}[y_{i}log(p(x_{i})+(1-y_{i})log(1-p(x_{i}))]\)

    这个式子中,m是样本数,y是标签,取值0或1,i表示第i个样本,p(x)表示预测的输出。

  • 当损失过于小的时候,模型能拟合绝大部分的数据,这时候容易出现过拟合。防止过拟合引入正则化。
  • 梯度下降:在最小化损失函数时,可以通过梯度下降法迭代求解,得到最小化的损失函数和模型参数值。
  • 梯度下降的种类
    • 批量梯度下降算法BGD
    • 随机梯度下降算法SGD

七,专著研读(Logistic回归)的更多相关文章

  1. 吴恩达《机器学习》课程笔记——第七章:Logistic回归

    上一篇  ※※※※※※※※  [回到目录]  ※※※※※※※※  下一篇 7.1 分类问题 本节内容:什么是分类 之前的章节介绍的都是回归问题,接下来是分类问题.所谓的分类问题是指输出变量为有限个离散 ...

  2. 第七篇:Logistic回归分类算法原理分析与代码实现

    前言 本文将介绍机器学习分类算法中的Logistic回归分类算法并给出伪代码,Python代码实现. (说明:从本文开始,将接触到最优化算法相关的学习.旨在将这些最优化的算法用于训练出一个非线性的函数 ...

  3. 机器学习算法( 五、Logistic回归算法)

    一.概述 这会是激动人心的一章,因为我们将首次接触到最优化算法.仔细想想就会发现,其实我们日常生活中遇到过很多最优化问题,比如如何在最短时间内从A点到达B点?如何投入最少工作量却获得最大的效益?如何设 ...

  4. 吴恩达机器学习笔记(二) —— Logistic回归

    主要内容: 一.回归与分类 二.Logistic模型即sigmoid function 三.decision boundary 决策边界 四.cost function 代价函数 五.梯度下降 六.自 ...

  5. logistic回归介绍以及原理分析

    1.什么是logistic回归? logistic回归虽然说是回归,但确是为了解决分类问题,是二分类任务的首选方法,简单来说,输出结果不是0就是1 举个简单的例子: 癌症检测:这种算法输入病理图片并且 ...

  6. 十一,专著研读(CART算法)

    十一,专著研读(CART算法) CART称为分类回归树,既能用于分类也能用于回归.使用二元切分方法处理连续型变量,给定特定值,如果特征值大于给定值就走左子树,否则走右子树. CART算法步骤 决策树生 ...

  7. 四,专著研读(K-近邻算法)

    四,专著研读(K-近邻算法) K-近邻算法有监督学习距离类模型, k-近邻算法步骤 计算已知类别数据集中的点与当前点之间的距离 按照距离递增的次序进行排序 选取与当前点距离最小的K个点 确定前k个点出 ...

  8. 神经网络、logistic回归等分类算法简单实现

    最近在github上看到一个很有趣的项目,通过文本训练可以让计算机写出特定风格的文章,有人就专门写了一个小项目生成汪峰风格的歌词.看完后有一些自己的小想法,也想做一个玩儿一玩儿.用到的原理是深度学习里 ...

  9. 机器学习——Logistic回归

    1.基于Logistic回归和Sigmoid函数的分类 2.基于最优化方法的最佳回归系数确定 2.1 梯度上升法 参考:机器学习--梯度下降算法 2.2 训练算法:使用梯度上升找到最佳参数 Logis ...

随机推荐

  1. Deepin 15.9系统直接运行exe运行程序

    以下为你介绍在深度Deepin 15.9 Linux操作系统下直接运行exe文件的方法,此方法基于deepin-wine实现,经测试,一些exe文件是可以正常打开的,但部分可能会出现无法使用的情况,但 ...

  2. acWing 825. 排队购物

    题目描述苏西小朋友和她的妈妈正在超市里购物,看着收银处排着的长长的队伍,她就想如何能够提高整体的服务质量呢? 已知,现在有n个人正在排队等待结账,每个人结账所花的时间都可能是不同的,第 i 个人的结账 ...

  3. LeetCode 5127. 删除被覆盖区间 Remove Covered Intervals

    地址 https://www.acwing.com/solution/LeetCode/content/7021/ 目描述给你一个区间列表,请你删除列表中被其他区间所覆盖的区间. 只有当 c < ...

  4. nginx学习(五):nginx.conf 核心配置文件详解

    整体结构 详细信息 1.设置worker进程的用户,指的linux中的用户,会涉及到nginx操作目录或文件的一些权限,默认为nobody user root; 2.worker进程工作数设置,一般来 ...

  5. Codeforces Round #602 (Div. 2, based on Technocup 2020 Elimination Round 3) E. Arson In Berland Forest 二分 前缀和

    E. Arson In Berland Forest The Berland Forest can be represented as an infinite cell plane. Every ce ...

  6. linux--解决anaconda升级pip问题

    Anaconda指的是一个开源的Python发行版本,其包含了conda.Python等180多个科学包及其依赖项. 在用pip install命令安装东西时,有时会提示如下错误:升级pip You ...

  7. OC:浅析Runtime中消息转发机制

    一.介绍 OC是一门动态性语言,其实现的本质是利用runtime机制.在runtime中,对象调用方法,其实就是给对象发送一个消息,也即objc_msgSend().在这个消息发送的过程中,系统会进行 ...

  8. 大话设计模式Python实现-中介者模式

    中介者模式(Mediator Pattern):用一个对象来封装一系列的对象交互,中介者使各对象不需要显示地相互引用,从而使耦合松散,而且可以独立地改变它们之间的交互. 下面是一个中介者模式的demo ...

  9. oracle学习笔记(二十一) 程序包

    程序包 之前我们调用的dbms_output.put_line(''),dbms_output就是一个程序包 程序包创建语法 1. 声明程序包 --声明程序包中的过程,函数,自定义的类型 --程序包里 ...

  10. C# redis StackExchange

    1.Install-Package StackExchange -v 2.0.601 2.using StackExchange.Redis; 3. static void StackExchange ...