岭回归算法_tikhonov正则化与岭回归

岭回归算法_tikhonov正则化与岭回归岭回归算法简介回归算法的本质上就是为了解决一个线性方程:Ax=b标准估计方法是普通的最小二法的线性回归,然而如果x是一个病态的矩阵,在这种情况下使用普通最小二法估计会导致过拟合或者欠拟合的情况。此外,岭回归还可以处理矩阵阵列的多重共线性问题。通常最小二乘法寻求的是最小花平方残差的综合,公式:在岭回归中,在这种最小化中加入正则化项:其中Г是Tikhonovmatrix矩阵,在许…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

岭回归算法简介

回归算法的本质上就是为了解决一个线性方程:
Ax = b
标准估计方法是普通的最小二法的线性回归,然而如果x是一个病态的矩阵,在这种情况下使用普通最小二法估计会导致过拟合或者欠拟合的情况。此外,岭回归还可以处理矩阵阵列的多重共线性问题。

通常最小二乘法寻求的是最小花平方残差的综合,公式:
在这里插入图片描述
在岭回归中,在这种最小化中加入正则化项:
在这里插入图片描述
其中Г是Tikhonov matrix矩阵,在许多情况下,这个矩阵被选为单位矩阵的倍数,Г=αI(注意:此处考虑的是具有较小范数的解决方案,不是较小系数,这里的系数指的是“回归系数”)

岭回归性质

1)岭回归与OLS的关系:
在这里插入图片描述
由于岭回归与OLS相差无几,这里就不在详细赘述了,直接上代码。
#实现岭回归的函数
def ridge_regression(array_x,array_y,lambda_1):
#创建设计矩阵
X = np.column_stack((np.ones(array_x[0]),array_x))
#计算上面公式中A.TA+lambda单位矩阵I
alpha_vector = np.dot(X.T,X)+lambda_1
np.identity(X.shape[0])
#行列式判断A.TA是否可逆
if np.abs(linalg.det(alpha_vector))-0.0 < 10*-14:
#如果不可逆,直接结束程序
return
#如果可逆,计算回归系数
alpha = np.dot(alpha_vector,np.dot(X.T,array_y))
#将得到的截距项和回归系数返回
return alpha

#计算回归系数,有X_train,X_test,y_train,y_test数据集
ridge_data = ridge_regression(X_train,y_train,0.1)
#预测(此处ridge_data[0]是截距项,ridge_data[1]是回归系数)
pre_data = ridge_data[0] + ridge_data[1]*X_test

如有不理解,欢迎留言,大家共同进步!!!

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

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/171770.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • 群环域,理想商环,原根复习

    群环域,理想商环,原根复习包含了抽象代数里面的一些概念,最近看文章的时候一直反映不过来,理想是个啥来着,环和域的区别是啥来着。所以统筹整理一下。集合/(Set):一个集合GGG表示一组数据有限集合:G={a1,a2,…,an},∣G∣=nG=\{a_1,a_2,…,a_n\},|G|=nG={a1​,a2​,…,an​},∣G∣=n无穷集合:G={a1,a2,…},∣G∣=∞G=\{a_1,a_2,…\},|G|=\infinG={a1​,a2​,…},∣G∣=∞一个班级的所有学生半群/(Mo

  • C语言优先级 运算符

    C语言优先级 运算符1、最高级:出现同级别运算符时的结合方向是从左往右(下面级别没写结合顺序时,默认是从左往右)。()圆括号[]下标运算符号->指向结构体成员运算符.结构体成员运算符2、第二级:!、~、++、–、-、(类型)、*、&、sizeof。这一级都是单目运算符号,这一级的结合方向是从右向左。比如出现*p++,这时*和++同级别,先算右边,再左边。所以*p+…

  • 135首经典欧美歌曲 —附下载地址

    135首经典欧美歌曲 —附下载地址135首经典欧美歌曲—附下载地址(2011-03-1212:52:14)转载▼标签:杂谈分类:转载精选源自张海峡新浪博客:http://blog.sina.com.cn/zhanghaixiaf

  • linux每日命令(1):which

    linux每日命令(1):which

  • java分布式(java入门)

    java分布式(java入门)【声明:版权所有,欢迎转载,请勿用于商业用途。联系信箱:feixiaoxing@163.com】说起来,在大学里面我学过的编程语言只有c++和java。这其中c++是作为必修课学的,而java是作为选修课学的。至于后面的c、汇编、python、js这些语言,那都是工作了之后才学的。至于这些语言有什么用,在什么场景下使用效率最高,其实说实话,当时心里不是很清楚,等到真正明白过…

  • kworker_kiekert

    kworker_kiekert通过ps命令查看进程状态时,可以查看到kworker相关,大部分格式都是kworker/u2:0或者kworker/0:0H,查看资料得知:内核中有很多kworker,有绑定cpu的和不绑定cpu的,它支持cpu的hotplug时work的迁移。u:是unbound的缩写,代表没有绑定特定的CPU,kworker/u2:0中的2是work_pool的I…

发表回复

您的电子邮箱地址不会被公开。

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