原文地址:http://blog.csdn.net/u013164528/article/details/45042895

最小二乘法(又称最小平方法)是一种数学优化技术。它通过最小化误差的平方和寻找数据的最佳函数匹配。利用最小二乘法可以简便地求得未知的数据,并使得这些求得的数据与实际数据之间误差的平方和为最小。

从维基百科中摘取的最小二乘的拟合曲线。

解法:其中Y为列向量,X为N*K的矩阵,W为K*1的行向量

虽说Matlab中有现成的拟合函数,但是,当有些正则化约束来限制W的取值时,就无法用拟合函数来实现。这时,需要我们自己写出求解的代码,才行。

与前面提到的相同,

下面公式中,X为N*K矩阵,Y为N维列向量,而W为K*1的行向量

无约束的线性最小二乘拟合:。解法

L1正则化约束的最小二乘拟合:,解法

L2正则化约束的最小二乘拟合:,解法

而相应的代码实在是太简单了,代码中,默认为1,而为常数项。

Matlab代码:

x=[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1;

195,189,193,162,189,182,211,167,176,154,169,166,154,247,193,202;

36,37,38,35,35,36,38,34,31,33,34,33,34,46,36,37;

50,52,58,62,46,56,56,60,74,56,50,52,64,50,46,62]

y=[60,60,101,37,58,42,38,40,40,250,38,115,105,50,31,120]

%无约束

K0=inv(x*x')*x*y'

%L1正则化约束

K1=inv(x*x')*(x*y'-0.5)

%L2正则化约束

K2=inv(x*x'+eye(4))*x*y'

执行结果:

K0 =125.6309   -1.6503   6.9934    0.0385

K1 =116.3166   -1.6595   7.2063    0.0984

K2 =6.4473  -1.7536    9.6298    0.8152

L1的正则化约束结果不是那么明显,但L2的正则化约束结果还是相当不错的!

转载于:https://www.cnblogs.com/davidwang456/articles/5582794.html

最小二乘拟合,L1、L2正则化约束--转相关推荐

  1. 手推公式带你轻松理解L1/L2正则化

    文章目录 前言 L1/L2正则化原理 从数学的角度理解L1/L2正则化 从几何的角度理解L1/L2正则化 L1/L2正则化使用情形 前言 L1/L2正则化的目的是为了解决过拟合,因此我们先要明白什么是 ...

  2. L1,L2正则化理解-奥卡姆剃刀(Occam's razor)原理

    L0.L1与L2范数转自:zouxy09@qq.com http://blog.csdn.net/zouxy09 今天我们聊聊机器学习中出现的非常频繁的问题:过拟合与规则化.我们先简单的来理解下常用的 ...

  3. L1 L2 正则化区别

    文章一 文章二 机器学习中,如果参数过多,模型过于复杂,容易造成过拟合(overfit).即模型在训练样本数据上表现的很好,但在实际测试样本上表现的较差,不具备良好的泛化能力.为了避免过拟合,最常用的 ...

  4. L0,L1,L2正则化浅析

    在机器学习的概念中,我们经常听到L0,L1,L2正则化,本文对这几种正则化做简单总结. 1.概念 L0正则化的值是模型参数中非零参数的个数. L1正则化表示各个参数绝对值之和. L2正则化标识各个参数 ...

  5. L1 L2正则化和优化器的weight_decay参数

    L1正则和L2正则的效果有什么差异?为什么? 角度一:解空间形状 通常认为L1 正则化可以产生稀疏权值矩阵,即产生一个参数稀疏的模型. 而L2 正则化可以让模型的参数取绝对值较小的数. 考虑两种正则化 ...

  6. 动态正则化权重系数_权重衰减防止过拟合(L2正则化)

    1..权重衰减(weight decay) L2正则化的目的就是为了让权重衰减到更小的值,在一定程度上减少模型过拟合的问题,所以权重衰减也叫L2正则化. L2正则化就是在代价函数后面再加上一个正则化项 ...

  7. L1,L2正则化分析

    1. 优化角度分析 1).L2正则化的优化角度分析 在限定的区域,找到使 最小的值. 图形表示为: 上图所示,红色实线是正则项区域的边界,蓝色实线是 的等高线,越靠里的等高圆, 越小,梯度的反方向是 ...

  8. 统计学第一章--最小二乘拟合正弦函数,正则化

    #coding:utf-8 import numpy as np import scipy as sp from scipy.optimize import leastsq import matplo ...

  9. 看图就懂:为什么L1正则化比L2正则化更容易得到稀疏解?为什么L2正则化可以用于防止过拟合?

    相信大部分人都见到过,下面的这两张对比图,用来解释为什么L1正则化比L2正则化更容易得到稀疏解,然而很多人会纠结于"怎么证明相切点是在角点上?",呃,不必就纠结于此,请注意结论中的 ...

最新文章

  1. 架构师之路 — 数据库设计 — SQL 结构化查询语言
  2. LA3266田忌赛马
  3. 【知识星球】超3万字的网络结构解读,学习必备
  4. 第二章 Python数据类型详解
  5. django-聚合函数
  6. Android native进程间通信实例-binder篇之——解决实际问题inputreader内建类清楚缓存...
  7. DongLiORM 介绍
  8. 判断画布是否是图元格式画布
  9. java要学多久_学会JAVA需要多长时间?
  10. 使用poedit汉化wordpress的插件
  11. python3网络爬虫-介绍
  12. yylabel 加载html,YYLabel的富文本设置
  13. 如何设置一个可扩展的MongoDB数据库?
  14. EPLAN之设备编号
  15. CVTE校招嵌入式经历
  16. C/C++《程序设计基础(C语言)课程设计》[2023-04-20]
  17. 安装Jdeveloper 12C
  18. 怎样提取网页视频中的音频文件
  19. CUDA计算能力的含义和计算能力表格
  20. php session header,php session header()重定向后丢失 - php

热门文章

  1. 计算机病毒与信息安全论文,信息安全与计算机病毒……毕业论文.doc
  2. 华为存储服务器v3存储协议,华为oceanstor v3融合存储介绍.pdf
  3. 如何让网页弹出确定_电脑去除网页上弹窗广告的操作方法
  4. 计算机教师队伍掌握的素质,多措并举,努力打造高素质计算机教师x队伍.doc
  5. android导出excel文件名称,android 导出数据到excel表格文件
  6. python seek tell_Python指针seektell详解
  7. 字符集:ASCII、GB2312、GBK、GB18030、Unicode
  8. python standard lib_跟Python Standard Library混个脸熟(一)
  9. 向量与向量的叉积和向量与矩阵的叉积数学表达式与python 实现
  10. 在 tensorflow 和numpy 中矩阵的加法