回归是数学建模、分类和预测中最古老但功能非常强大的工具之一。回归在工程、物理学、生物学、金融、社会科学等各个领域都有应用,是数据科学家常用的基本工具。

回归通常是机器学习中使用的第一个算法。通过学习因变量和自变量之间的关系实现对数据的预测。例如,对房价估计时,需要确定房屋面积(自变量)与其价格(因变量)之间的关系,可以利用这一关系来预测给定面积的房屋的价格。可以有多个影响因变量的自变量。

因此,回归有两个重要组成部分:自变量和因变量之间的关系,以及不同自变量对因变量影响的强度。

以下是几种常用的回归方法:

    1. 线性回归:使用最广泛的建模技术之一。已存在 200 多年,已经从几乎所有可能的角度进行了研究。线性回归假定输入变量(X)和单个输出变量(Y)之间呈线性关系。它旨在找到预测值 Y 的线性方程:


       

      其中,X=(x1,​x2,...,xn) 为 n 个输入变量,W=(w1,w2,...,wn) 为线性系数,b 是偏置项。目标是找到系数 W 的最佳估计,使得预测值 Y 的误差最小。使用最小二乘法估计线性系数 W,即使预测值 (Yhat) 与观测值 (Y) 之间的差的平方和最小。

      因此,这里尽量最小化损失函数:


       

      其中,需要对所有训练样本的误差求和。根据输入变量 X 的数量和类型,可划分出多种线性回归类型:简单线性回归(一个输入变量,一个输出变量),多元线性回归(多个输入变量,一个输出变量),多变量线性回归(多个输入变量,多个输出变量)。

      更多线性回归的相关内容,可参考https://en.wikipedia.org/wiki/Linear_regression

    2. 逻辑回归:用来确定一个事件的概率。通常来说,事件可被表示为类别因变量。事件的概率用 logit 函数(Sigmoid 函数)表示:

       

      现在的目标是估计权重 W=(w1,w2,...,wn) 和偏置项 b。在逻辑回归中,使用最大似然估计量或随机梯度下降来估计系数。损失函数通常被定义为交叉熵项:


       

      逻辑回归用于分类问题,例如,对于给定的医疗数据,可以使用逻辑回归判断一个人是否患有癌症。如果输出类别变量具有两个或更多个层级,则可以使用多项式逻辑回归。另一种用于两个或更多输出变量的常见技术是 OneVsAll。对于多类型逻辑回归,交叉熵损失函数被修改为:


       

      其中,K 是类别总数。更多逻辑回归的相关内容,可参考https://en.wikipedia.org/wiki/Logistic_regression

    3. 正则化:当有大量的输入特征时,需要正则化来确保预测模型不会 太复杂。正则化可以帮助防止数据过拟合。它也可以用来获得一个凸损失函数。有两种类型的正则化——L1 和 L2 正则化,其描述如下:
      • 当数据高度共线时,L1 正则化也可以工作。在 L1 正则化中,与所有系数的绝对值的和相关的附加惩罚项被添加到损失函数中。L1 正则化的正则化惩罚项如下:

       
      • L2 正则化提供了稀疏的解决方案。当输入特征的数量非常大时,非常有用。在这种情况下,惩罚项是所有系数的平方之和:

      其中,λ是正则化参数。

TensorFlow从0到1之回归算法(11)的更多相关文章

  1. Tensorflow从0到1(3)之实战传统机器算法

    计算图中的操作 import numpy as np import tensorflow as tf sess = tf.Session() x_vals = np.array([1., 3., 5. ...

  2. TensorFlow v2.0实现Word2Vec算法

    使用TensorFlow v2.0实现Word2Vec算法计算单词的向量表示,这个例子是使用一小部分维基百科文章来训练的. 更多信息请查看论文: Mikolov, Tomas et al. " ...

  3. Tensorflow 2.0 深度学习实战 —— 详细介绍损失函数、优化器、激活函数、多层感知机的实现原理

    前言 AI 人工智能包含了机器学习与深度学习,在前几篇文章曾经介绍过机器学习的基础知识,包括了监督学习和无监督学习,有兴趣的朋友可以阅读< Python 机器学习实战 >.而深度学习开始只 ...

  4. Lasso回归算法: 坐标轴下降法与最小角回归法小结

    前面的文章对线性回归做了一个小结,文章在这: 线性回归原理小结.里面对线程回归的正则化也做了一个初步的介绍.提到了线程回归的L2正则化-Ridge回归,以及线程回归的L1正则化-Lasso回归.但是对 ...

  5. 基于Python的函数回归算法验证

    看机器学习看到了回归函数,看了一半看不下去了,看到能用方差进行函数回归,又手痒痒了,自己推公式写代码验证: 常见的最小二乘法是一阶函数回归回归方法就是寻找方差的最小值y = kx + bxi, yiy ...

  6. SparkMLlib学习分类算法之逻辑回归算法

    SparkMLlib学习分类算法之逻辑回归算法 (一),逻辑回归算法的概念(参考网址:http://blog.csdn.net/sinat_33761963/article/details/51693 ...

  7. SparkMLlib回归算法之决策树

    SparkMLlib回归算法之决策树 (一),决策树概念 1,决策树算法(ID3,C4.5 ,CART)之间的比较: 1,ID3算法在选择根节点和各内部节点中的分支属性时,采用信息增益作为评价标准.信 ...

  8. 机器学习之Logistic 回归算法

    1 Logistic 回归算法的原理 1.1 需要的数学基础 我在看机器学习实战时对其中的代码非常费解,说好的利用偏导数求最值怎么代码中没有体现啊,就一个简单的式子:θ= θ - α Σ [( hθ( ...

  9. 机器学习之logistic回归算法与代码实现原理

    Logistic回归算法原理与代码实现 本文系作者原创,转载请注明出处:https://www.cnblogs.com/further-further-further/p/10033567.html ...

随机推荐

  1. Poj 最短路和次短路的个数 Dij+优化?。

    Description Tour operator Your Personal Holiday organises guided bus trips across the Benelux. Every ...

  2. Identity Card(hdu2629)

    输入方式:先输入一个整型,再输入不带空格未知长度/已知长度的字符串. 思考:用scanf_s()函数输入整型,再循环输入不带空格未知长度的字符串,用gets_s()函数. 注意:scanf_s()函数 ...

  3. 自己写的vue底导航

    <template> <div id="app"> <div class="tabbar"> <div class=& ...

  4. ShoneSharp语言(S#)软件更新13.7版

    ShoneSharp语言(S#)编辑解析运行器 软件更新13.7版 作者:Shone 近期在写博客过程中对S#进行增强,把语法规则更新到2.0版,并同步更新软件到ShoneSharp.13.7.exe ...

  5. Android Studio代码编译通过但是提示停止运行

    这种问题也许有很多可能,但是我遇到过一种,下面分享给大家希望问题会得到解决 检查你的布局文件中图片的位置 如果图片名前有“(v24)”的删掉 重新插入图片到这个目录 然后就可以正常运行了

  6. Charles截获iPhone网络请求

    Charles介绍:Charles是在Mac下常用的截取网络封包的工具,在做iOS开发时,有时为了调试与服务器端的网络通讯协议,常常需要服务端原因一起调试.有了Charles客户端人员自娱自乐了,想怎 ...

  7. .net remoting(一)

    一.远程对象 ①RemoteHello.csproj 类库项目,程序集名称 RemoteHello ,默认命名空间 Wrox.ProCSharp.Remoting: ②派生自System.Marssh ...

  8. Spring Cloud Ribbon 客户端负载均衡

    Ribbon客户端组件提供一系列完善的配置选项,比如连接超时.重试.重试算法等,内置可插拔.可定制的负载均衡组件.下面是用到的一些负载均衡策略: 简单轮询负载均衡 加权轮询负载均衡 区域感知轮询负载均 ...

  9. 移动端border:1px问题解决方案

    了解设备像素和css像素的因该知道,通常我们在写移动端时,是按照设计稿标注的像素除以设备的DPR来写真实的像素, 比如在iPhone6上,我们写的20px字体世界上在视觉效应上有20px; 所以当我们 ...

  10. Java 第十一届 蓝桥杯 省模拟赛 第十层的二叉树

    一棵10层的二叉树,最多包含多少个结点? 注意当一棵二叉树只有一个结点时为一层. 答案提交 这是一道结果填空的题,你只需要算出结果后提交即可.本题的结果为一个整数,在提交答案时只填写这个整数,填写多余 ...