最小二乘拟合,L1、L2正则化约束--转
原文地址: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正则化约束--转相关推荐
- 手推公式带你轻松理解L1/L2正则化
文章目录 前言 L1/L2正则化原理 从数学的角度理解L1/L2正则化 从几何的角度理解L1/L2正则化 L1/L2正则化使用情形 前言 L1/L2正则化的目的是为了解决过拟合,因此我们先要明白什么是 ...
- L1,L2正则化理解-奥卡姆剃刀(Occam's razor)原理
L0.L1与L2范数转自:zouxy09@qq.com http://blog.csdn.net/zouxy09 今天我们聊聊机器学习中出现的非常频繁的问题:过拟合与规则化.我们先简单的来理解下常用的 ...
- L1 L2 正则化区别
文章一 文章二 机器学习中,如果参数过多,模型过于复杂,容易造成过拟合(overfit).即模型在训练样本数据上表现的很好,但在实际测试样本上表现的较差,不具备良好的泛化能力.为了避免过拟合,最常用的 ...
- L0,L1,L2正则化浅析
在机器学习的概念中,我们经常听到L0,L1,L2正则化,本文对这几种正则化做简单总结. 1.概念 L0正则化的值是模型参数中非零参数的个数. L1正则化表示各个参数绝对值之和. L2正则化标识各个参数 ...
- L1 L2正则化和优化器的weight_decay参数
L1正则和L2正则的效果有什么差异?为什么? 角度一:解空间形状 通常认为L1 正则化可以产生稀疏权值矩阵,即产生一个参数稀疏的模型. 而L2 正则化可以让模型的参数取绝对值较小的数. 考虑两种正则化 ...
- 动态正则化权重系数_权重衰减防止过拟合(L2正则化)
1..权重衰减(weight decay) L2正则化的目的就是为了让权重衰减到更小的值,在一定程度上减少模型过拟合的问题,所以权重衰减也叫L2正则化. L2正则化就是在代价函数后面再加上一个正则化项 ...
- L1,L2正则化分析
1. 优化角度分析 1).L2正则化的优化角度分析 在限定的区域,找到使 最小的值. 图形表示为: 上图所示,红色实线是正则项区域的边界,蓝色实线是 的等高线,越靠里的等高圆, 越小,梯度的反方向是 ...
- 统计学第一章--最小二乘拟合正弦函数,正则化
#coding:utf-8 import numpy as np import scipy as sp from scipy.optimize import leastsq import matplo ...
- 看图就懂:为什么L1正则化比L2正则化更容易得到稀疏解?为什么L2正则化可以用于防止过拟合?
相信大部分人都见到过,下面的这两张对比图,用来解释为什么L1正则化比L2正则化更容易得到稀疏解,然而很多人会纠结于"怎么证明相切点是在角点上?",呃,不必就纠结于此,请注意结论中的 ...
最新文章
- 架构师之路 — 数据库设计 — SQL 结构化查询语言
- LA3266田忌赛马
- 【知识星球】超3万字的网络结构解读,学习必备
- 第二章 Python数据类型详解
- django-聚合函数
- Android native进程间通信实例-binder篇之——解决实际问题inputreader内建类清楚缓存...
- DongLiORM 介绍
- 判断画布是否是图元格式画布
- java要学多久_学会JAVA需要多长时间?
- 使用poedit汉化wordpress的插件
- python3网络爬虫-介绍
- yylabel 加载html,YYLabel的富文本设置
- 如何设置一个可扩展的MongoDB数据库?
- EPLAN之设备编号
- CVTE校招嵌入式经历
- C/C++《程序设计基础(C语言)课程设计》[2023-04-20]
- 安装Jdeveloper 12C
- 怎样提取网页视频中的音频文件
- CUDA计算能力的含义和计算能力表格
- php session header,php session header()重定向后丢失 - php
热门文章
- 计算机病毒与信息安全论文,信息安全与计算机病毒……毕业论文.doc
- 华为存储服务器v3存储协议,华为oceanstor v3融合存储介绍.pdf
- 如何让网页弹出确定_电脑去除网页上弹窗广告的操作方法
- 计算机教师队伍掌握的素质,多措并举,努力打造高素质计算机教师x队伍.doc
- android导出excel文件名称,android 导出数据到excel表格文件
- python seek tell_Python指针seektell详解
- 字符集:ASCII、GB2312、GBK、GB18030、Unicode
- python standard lib_跟Python Standard Library混个脸熟(一)
- 向量与向量的叉积和向量与矩阵的叉积数学表达式与python 实现
- 在 tensorflow 和numpy 中矩阵的加法