zoukankan      html  css  js  c++  java
  • 回归算法

    回归算法:线性回归、逻辑回归

    1、线性回归

      线性回归计算的是数值问题,最后预测的结果是数值。房价问题中,如何拟合出一条直线最佳匹配我所有的数据?如图1。一般使用“最小二乘法”来求解。“最小二乘法”的思想是这样 的,假设我们拟合出的直线代表数据的真实值,而观测到的数据代表拥有误差的值。为了尽可能减小误差的影响,需要求解一条直线使所有误差的平方和最小。最小二乘法将最优问题转化为求函数极值问题。函数极值在数学上我们一般会采用求导数为0的方法。但这种做法并不适合计算机,可能求解不出来,也可能计算量太 大。

                                

                               图  1

      梯度下降法是解决回归模型中最简单且有效的方法之一.

    2、逻辑回归

       逻辑回归是分类算法,预测的结果是离散的分类。例如这封邮件是否是垃圾邮件,用户是否会点击此广告。

       实现:在线性回归的基础上加一个Sigmoid函数,经结果转化为[0,1]之间的概率(近似理解数值越大,越接近1;数值越小,越接近0),对于判断是否是垃圾邮件,当概率大于0.5判断是,小于小于0.5则不是。

                              

                              图  2

       假设我们有一组肿瘤患者的数据,如图2。这些患者的肿瘤中有些是良性的(图中的蓝色点),有些是恶性的(图中的红色点)。这里肿瘤的红蓝色可以被称作数据的 “标签”。同时每个数据包括两个“特征”:患者的年龄与肿瘤的大小。我们将这两个特征与标签映射到这个二维空间上,形成了我上图的数据。

      根据红蓝点我们训练出了一个逻辑回归模型,也就是图中的分类线。这时,根据绿点出现在分类线的左侧,因此我们判断它的标签应该是红色,也就是说属于恶性肿瘤。

      逻辑回归算法划出的分类线基本都是线性的(也有划出非线性分类线的逻辑回归,不过那样的模型在处理数据量较大的时候效率会很低),这意味着当两类之 间的界线不是线性时,逻辑回归的表达能力就不足

    参考文档:https://blog.csdn.net/yywan1314520/article/details/51142342

  • 相关阅读:
    .NET Core 之 MSBuild 介绍
    棒!使用.NET Core构建3D游戏引擎
    在ASP.NET Core MVC中构建简单 Web Api
    TypeScript 中的 SOLID 原则
    《C# 并发编程 · 经典实例》读书笔记
    ASP.NET Core 中的那些认证中间件及一些重要知识点
    消息队列 Kafka 的基本知识及 .NET Core 客户端
    【数列区间询问中的分块思想】
    2013 Multi-University Training Contest 8
    2013 Multi-University Training Contest 7
  • 原文地址:https://www.cnblogs.com/smartmsl/p/10449719.html
Copyright © 2011-2022 走看看