高斯,拉普拉斯分布

高斯,拉普拉斯分布一般来说我们可以使用正则化来避免过度拟合 但是实际上什么是正则化 什么是通用技术 以及它们有何不同 正规化是我们对学习算法所做的任何修改 旨在减少其泛化误差 而不是其训练误差 换句话说 通过防止算法过度拟合训练数据集 可以将正则化用于训练对看不见的数据更好地泛化的模型 那么 如何修改逻辑回归算法以减少泛化误差呢 我发现的常见方法是高斯 拉普拉斯 L1 和 L2 高斯还是 L2 拉普拉斯还是 L1 这有什么不同吗 可以证明 L2 和高斯或 L1 和拉普拉斯正则化对算法具有同等影响 获得正则化效果的方法有两种

在这里插入图片描述

一般来说我们可以使用正则化来避免过度拟合。但是实际上什么是正则化,什么是通用技术,以及它们有何不同?

那么,如何修改逻辑回归算法以减少泛化误差呢?

我发现的常见方法是高斯,拉普拉斯,L1和L2。

高斯还是L2,拉普拉斯还是L1?这有什么不同吗?

可以证明L2和高斯或L1和拉普拉斯正则化对算法具有同等影响。获得正则化效果的方法有两种。

第一种方法:添加正则项

第一种方法

但是为什么我们要惩罚高系数呢? 如果一个特征仅在一个类别中出现,则将通过逻辑回归算法为其分配很高的系数。 在这种情况下,模型可能会非常完美地了解有关训练集的所有详细信息。

被添加以惩罚高系数的两个常见的正则化项是l1范数或范数l2的平方乘以½,这激发了名称L1和L2正则化。

注意。 系数½用于L2正则化的某些推导中。 这使得计算梯度更容易,但是,仅常数值可以通过选择参数λ来补偿。

第二种方法:

贝叶斯正则化观点

第二种方法假定系数的给定先验概率密度,并使用最大后验估计(MAP)方法。 例如,我们假设系数为均值0和方差σ2的高斯分布或系数为方差σ2的拉普拉斯分布。

在这种情况下,我们可以通过选择方差来控制正则化的影响。 较小的值导致较小的系数。 但是,σ2的较小值可能会导致拟合不足。

所提及的两种方法密切相关,并且通过正确选择控制参数λ和σ2,可得出该算法的等效结果。 在KNIME中,以下关系成立:

选择线性回归的先验

主要思想是在使我们达到L1和L2正则化的线性回归系数上选择贝叶斯先验。 让我们看看它是如何工作的。

并根据公式:

在这里插入图片描述

我们删除了许多常量。我们可以看到,这与(L2正则化)相同,其中? = ?2 / ?2假定为在常规线性模型中为常数) 回归,我们就可以选择我们的先验。 我们可以通过更改adjust来调整所需的正则化量。 同样,我们可以调整要加权先验系数的数量。 如果我们有一个很小的方差大large,那么系数将非常接近0; 如果我们有很大的方差(小的?,那么系数不会受到太大的影响(类似于我们没有任何正则化的情况)。

因此,L2正则化没有任何特定的内置机制来支持归零系数,而L1正则化实际上偏爱这些稀疏解。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/233785.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • vdbench使用

    vdbench使用简介vdbench是一个I/O工作负载生成器,用于验证数据完整性和度量直接附加和网络连接的存储的性能。它是一个免费的工具,容易使用,而且常常用于测试和基准测试。可以使用vdbench测试磁盘和文件系统的读写性能。名词解释vdbench中常用的一些名词解释:HD主机定义SD存储定义WD工作负载定义RD运行定义FSD文件系统存储定义FWD文件工作负载定义安装和配置linux下配置vdbench(1)下载Vdbench…

    2022年5月12日
    291
  • pip 安装.whl文件「建议收藏」

    pip 安装.whl文件「建议收藏」参见网址https://www.lfd.uci.edu/~gohlke/pythonlibs/,基本上包含了常用的pythonlib各个版本。下载本机机器上的python使用的对应版本的lib,切到下载位置,使用命令(以安装matplotlib为例):pip install ./matplotlib-2.2.3-cp36-cp36m-win32.whl 即可很快完成安装…

    2022年5月29日
    77
  • web渗透测试工具大全_web安全攻防渗透测试实战指南 pdf

    web渗透测试工具大全_web安全攻防渗透测试实战指南 pdf一、渗透测试工具nmap,查看网站服务器开放的端口1、查看服务器上运行的服务$nmap-sVhack-test.com2、查看操作系统版本$nmap-Ohack-test.com二、使用Nikto来收集漏洞信息#官方网站:https://cirt.net/nikto2#wgethttps://cirt.net/nikto/nikto-2.1.5.

    2022年8月12日
    7
  • Recall(检出率)和 Precision(准确性)

    Recall(检出率)和 Precision(准确性)

    2022年1月1日
    43
  • java 内存分析工具 生成 dump_java内存检测工具

    java 内存分析工具 生成 dump_java内存检测工具jmap-heap1234查看进程号为1234的Java程序的整个jvm内存状态jmap-histo1234查找进程号为1234的java程序的jvm堆中对象详细占用情况jmap-dump:format=b,file=/my.dump1234导出1234进程的java程序的整个JVM信息jhat-J-Xmx1024M/my.dump,启动web服务查看jmap导出的jav…

    2022年10月2日
    0
  • 用Python进行web开发需要学习什么?「建议收藏」

    第一步:HTMLHTML是网页的核心,学好HTML是成为Web开发人员的基本条件。HTML很容易学习的,但也很容易误用,要学精还得费点功夫。  随着HTML5的发展和普及,了解HTML5也将成为Web开发人员的必修课。  涉及到网页外观时,就需要学习CSS了,它可以帮你把网页做得更美观。  利用HTML和CSS模拟一些你所见过的网站的排版和布局(色彩,图片,文字样式等等)。第二步:学习javascript,了解DOMJavaScript是一种能让你的网页更加生动活泼的程序语言。学习JavaScr

    2022年4月11日
    38

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号