最新要闻
- 来真的!贾跃亭:3月30日生产FF91 百万豪车来了
- 【天天新视野】30个汽车品牌降价 成都发放消费券:满40万可减8000元
- 【世界独家】华硕发布TUF Gaming M3 Gen II鼠标:仅重59g、IP56防尘防水
- 全球今亮点!过期1天的食物还能吃吗?
- 日系中的另类!国产马自达CX-50内饰发布:原汁原味引入海外版
- 每日快讯!12万元买宝马“3系”?宝马中国回应降价传闻:指导价没变
- 当前快讯:玩家不满《魔戒:咕噜》新宣传片:他没有主角光环!
- 环球热讯:小米搞出“新花样”:可层叠摄像模组专利获授权
- 焦点快报!没有秘密了!AI或能够读取大脑重现梦境
- 今日快看!新老代表接力提建议将牡丹定为国花:100多个国家都有国花了
- 【天天报资讯】山西李家大院哪些人可以享受半价票优惠
- 世界热消息:谷歌报复性砸出5620亿参数大模型:比ChatGPT更恐怖 学术圈已刷屏
- 【环球播资讯】2月国产游戏出海成绩出炉:《原神》获收入和增长双料冠军
- 有关马的歇后语有哪些?有关马的古诗有哪些?
- 工科理科化现象亟待扭转!曹德旺等科学家企业喊话让学生去工厂一线真问题
- 【世界时快讯】委员喊话农村淘汰、封杀老头乐 网友吵翻:揭秘观点背后让人唏嘘?
手机
iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
- 警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- 男子被关545天申国赔:获赔18万多 驳回精神抚慰金
- 3天内26名本土感染者,辽宁确诊人数已超安徽
- 广西柳州一男子因纠纷杀害三人后自首
- 洱海坠机4名机组人员被批准为烈士 数千干部群众悼念
家电
有监督学习——线性回归
1. 线性模型
有监督学习是通过已知的样本产生预测模型的学习方法,任何有监督学习模型都可被想象成一个函数:
(相关资料图)
\[y=f(x_1,x_2,x_3,...x_n) \tag{1-1}\]其中,\(x_1,x_2,x_3...x_n\)是模型的n维的特征值,\(y\)是要预测的目标值/分类,当\(y\)是可枚举的类型时,对应分类问题(classification);\(y\)为连续值时,该模型解决回归问题(regression)。
线性回归(Linear Regression)在机器学习中被用来解决学习特征和目标值都是连续值类型的问题,可定义为多项式函数:
\[y=w_0+w_1x_1+w_2x_2+...+w_nx_n \tag{1-2}\]线性模型学习的目标就是确定\(w_0 w_1..w_n\)的值,使\(y\)可以根据特征值直接通过函数计算得到,\(w_0\)成为截距,\(w_1...w_n\)被成为回归系数(coefficient)。公式(2)可以有其他变体,注意:是否是线性模型取决于其被要求的系数\(w_0...w_n\)之间是否为线性关系,与样本特征变量\(x_0..x_n\)的形式无关。e.g.以下前者为线性模型,后者为非线性模型。
\[y=2w_0+w_1x^1+w_1x^2+...w_nx^n\]\[y=w_0+sin(w_1)x_1+cos(x_2)x_2+...\]2. 最小二乘法
最简单的线性模型算法便是最小二乘法(Ordinary Least Squares, OLS),通过样本真值与预测值之间的方差和来达到计算出\(w_1,w_2..w_n\)的目的,即:
\[argmin(\sum(\hat{y}-y)^2) \tag{1-3}\]
arg min
就是使后面这个式子达到最小值时的变量的取值,其中\(\hat{y}\)是样本预测值,\(y\)是样本中的真值(ground truth)
在python使用
import numpy as npfrom sklearn import linear_modelx = np.array([[0, 1], [3, -2], [2, 3]]) # 训练样本特征y = np.array([0.5, 0.3, 0.9]) # 训练样本目标值reg = linear_model.LinearRegression() # 最小二乘法回归对象reg.fit(x, y) # 训练、拟合print("intercept_:", reg.intercept_) # 读取截距# intercept_: 0.36666666666666686print("coef_:", reg.coef_) # 读取回归参数# coef_: [0.06666667 0.13333333]reg.predict([[1, 2], [-3, 9]]) # 预测# array([0.7 , 1.36666667])
通过intercept_
和coef_
属性可知道上述代码拟合的线性模型为:
最小二乘的不足
随着特征维度的增加,模型的求得的参数\(w_0 w_2...w_n\)的值显著增加,OLS始终试图最小化公式的值,因此为了拟合训练数据中很小的\(x\)的值差异产生的较大\(y\)值差异,必须使用较大的\(w\)值,结果是任何一个微小的变化都会导致最终预测目标值大幅度变化,即过拟合
。请看:
# 测试数据def make_data(nDim): x0 = np.linspace(1, np.pi, 50) # 一个维度的特征 x = np.vstack([[x0,], [i**x0 for i in range(2, nDim+1)]]) # nDim个维度的特征 y = np.sin(x0) + np.random.normal(0, 0.15, len(x0)) # 目标值 return x.transpose(), yx, y = make_data(12)
使用最小二乘法拟合:
def linear_regression(): dims = [1,3,6,12] # 需要训练的维度 for idx, i in enumerate(dims): plt.subplot(2, int(len(dims)/2), idx+1) reg = linear_model.LinearRegression() sub_x = x[:, 0:i] # 取x中前i个维度的特征 reg.fit(sub_x, y) # 训练 plt.plot(x[:,0], reg.predict(sub_x)) # 绘制模型 plt.plot(x[:,0], y, ".") plt.title("dim %s"%i) print("dim %d :"%i) print("intercept_: %s"%(reg.intercept_)) # 查看截距参数 print("coef_: %s"%(reg.coef_)) # 查看回归参数 plt.show()linear_regression()## 输出# dim 1 :# intercept_: 1.5190767802159115# coef_: [-0.39131134]# dim 3 :# intercept_: 1.1976858427101735# coef_: [ 1.91353693 -1.39387114 0.16182502]# dim 6 :# intercept_: -221.70126917849046# coef_: [-104.46259453 520.30421899 -573.61812163 429.72658285 -181.37364277# 32.5448376 ]# dim 12 :# intercept_: -7992016.158635169# coef_: [-1.83126880e+06 5.87461130e+07 -2.99765476e+08 9.72248992e+08# -1.92913886e+09 2.18748658e+09 -8.81323910e+08 -1.12973621e+09# 2.01475457e+09 -1.40758872e+09 4.94058411e+08 -7.17485861e+07]
可以明显看到dim=12
已经过拟合了
3. 岭回归
岭回归(Ridge Regression 或称Tikhonov Regularization)由俄罗斯科学家Tikhonov提出,通过改变回归目标系数,达到了控制回归参数随着维度疯狂增长的目的。新的回归函数:
\[argmin(\sum(\hat{y}-y)^2+\alpha\sum w^2) \tag{2-1}\]与OLS
的差别在于将\(\alpha\sum w^2\)加入最小化目标(也被称为L2惩罚项,即L2 Penalty),其中\(\alpha\)是一个可调节的超参数,\(w\)是线性模型中的所有参数。Ridge与原来的LinearRegression类使用方法相似,只是在初始化对象需要超参数α
def ridge_regression(): alphas = [1e-15, 1e-12, 1e-5, 1, ] # α参数 for idx, i in enumerate(alphas): plt.subplot(2, int(len(alphas)/2), idx+1) reg = linear_model.Ridge(alpha=i) # 岭回归模型 sub_x = x[:, 0:12] # 取x中前i个维度的特征 reg.fit(sub_x, y) # 训练 plt.plot(x[:,0], reg.predict(sub_x)) # 绘制模型 plt.plot(x[:,0], y, ".") plt.title("dim=12, alpha=%e"%i) print("alpha %e :"%i) print("intercept_: %s"%(reg.intercept_)) # 查看截距参数 print("coef_: %s"%(reg.coef_)) # 查看回归参数 plt.show()ridge_regression()#输出结果# dim 1 :# intercept_: 1.5190767802159115# coef_: [-0.39131134]# dim 3 :# intercept_: 1.1976858427101735# coef_: [ 1.91353693 -1.39387114 0.16182502]# dim 6 :# intercept_: -221.70126917849046# coef_: [-104.46259453 520.30421899 -573.61812163 429.72658285 -181.37364277# 32.5448376 ]# dim 12 :# intercept_: -7992016.158635169# coef_: [-1.83126880e+06 5.87461130e+07 -2.99765476e+08 9.72248992e+08# -1.92913886e+09 2.18748658e+09 -8.81323910e+08 -1.12973621e+09# 2.01475457e+09 -1.40758872e+09 4.94058411e+08 -7.17485861e+07]
比较OLS模型的12维结果,模型参数\(w\)显著降低。并且\(\alpha\)参数大小与训练结果成反比:\(\alpha\)越大,回归参数越小,模型越平缓。
3. Lasso回归
Ridge已经可以解决了多特征情况下参数太大导致的过度拟合,但在该模型中,无论\(\alpha\)多大,回归模型都存在绝对值极小的参数,难以到达零值,这部分参数对最终预测结果影响甚微但消耗计算资源,因此需要将不重要的特征参数计算为零,即压缩特征。这便是Lasso回归:
\[argmin(\sum(\hat{y}-y)^2+\alpha\sum|w|) \tag{3-1}\]对上面的代码略作修改
def lasso_regression(): alphas = [1e-12, 1e-5, 1, 10] # α参数 for idx, i in enumerate(alphas): plt.subplot(2, int(len(alphas)/2), idx+1) reg = linear_model.Lasso(alpha=i) # Lasso模型 sub_x = x[:, 0:12] # 取x中前12个维度的特征 reg.fit(sub_x, y) # 训练 plt.plot(x[:,0], reg.predict(sub_x)) # 绘制模型 plt.plot(x[:,0], y, ".") plt.title("dim=12, alpha=%e"%i) print("alpha %e :"%i) print("intercept_: %s"%(reg.intercept_)) # 查看截距参数 print("coef_: %s"%(reg.coef_)) # 查看回归参数 plt.show()lasso_regression()## 输出# alpha 1.000000e-12 :# intercept_: 0.6298258513945978# coef_: [ 1.22542814e+00 -4.54947716e-01 -3.93085543e-02 -5.49725917e-03# -5.88010501e-04 2.47220823e-04 3.36442748e-04 2.85372733e-04# 2.20237636e-04 1.66111569e-04 1.25225041e-04 9.51371122e-05]# alpha 1.000000e-05 :# intercept_: 0.6275025198172812# coef_: [ 1.21848162e+00 -4.48693464e-01 -4.01246675e-02 -5.58492834e-03# -6.02833485e-04 2.41969131e-04 3.37470151e-04 2.86500656e-04# 2.21159502e-04 1.66823390e-04 1.25767364e-04 9.55513093e-05]# alpha 1.000000e+00 :# intercept_: 0.9304502324995079# coef_: [-0.00000000e+00 -0.00000000e+00 -0.00000000e+00 -0.00000000e+00# -0.00000000e+00 -0.00000000e+00 -0.00000000e+00 -0.00000000e+00# -0.00000000e+00 -6.76060251e-04 -7.30714077e-05 -0.00000000e+00]# alpha 1.000000e+01 :# intercept_: 0.9076753246287685# coef_: [-0. -0. -0. -0. -0. -0.# -0. -0. -0. -0. -0. -0.0004185]
参考文献
[1]刘长龙. 从机器学习到深度学习[M]. 1. 电子工业出版社, 2019.3.
关键词:
有监督学习——线性回归
禁用XXE处理漫谈
腾讯-广点通转化归因
来真的!贾跃亭:3月30日生产FF91 百万豪车来了
【天天新视野】30个汽车品牌降价 成都发放消费券:满40万可减8000元
【世界独家】华硕发布TUF Gaming M3 Gen II鼠标:仅重59g、IP56防尘防水
全球今亮点!过期1天的食物还能吃吗?
日系中的另类!国产马自达CX-50内饰发布:原汁原味引入海外版
加速资源整合,星纪魅族围绕手机、XR、前瞻技术拓展智能生态
Prompt-Engineering-Guide 学习摘要2
今日关注:电动汽车综合检测
观焦点:这几个群,程序员可千万不要进!
每日快讯!12万元买宝马“3系”?宝马中国回应降价传闻:指导价没变
当前快讯:玩家不满《魔戒:咕噜》新宣传片:他没有主角光环!
环球热讯:小米搞出“新花样”:可层叠摄像模组专利获授权
焦点快报!没有秘密了!AI或能够读取大脑重现梦境
今日快看!新老代表接力提建议将牡丹定为国花:100多个国家都有国花了
【天天报资讯】山西李家大院哪些人可以享受半价票优惠
环球新资讯:【机器学习】1. 广义线性模型
【世界新视野】密码学报如何正确Latex投稿?
环球今亮点!快 40 岁,刚被裁。。
金三银四每天一个.NET基础知识巩固(一)
今日要闻!从“13 天”到“0 天”延时,揭秘火山引擎 DataLeap SLA 保障最佳实践
世界热消息:谷歌报复性砸出5620亿参数大模型:比ChatGPT更恐怖 学术圈已刷屏
【环球播资讯】2月国产游戏出海成绩出炉:《原神》获收入和增长双料冠军
Nginx http 文件服务器 中文名称文件乱码以及不能访问下载问题 (解决全过程)
有关马的歇后语有哪些?有关马的古诗有哪些?
工科理科化现象亟待扭转!曹德旺等科学家企业喊话让学生去工厂一线真问题
【世界时快讯】委员喊话农村淘汰、封杀老头乐 网友吵翻:揭秘观点背后让人唏嘘?
隐婚男女的结局是什么?隐婚男女演员介绍
小学二年级班主任工作计划有哪些?小学二年级家长会发言稿
消防逃生的注意事项有哪些?消防逃生演练总结
旅游可持续发展的实质是什么?旅游可持续发展论文模板
英语六级考试时间安排分配是什么?英语六级考试题型简介
世界热头条丨虼蚤的读音是什么_虼蚤
描写景色的词语集锦有哪些?描写景色的段落摘抄
梁祯元为什么叫南韩贾宝玉?梁祯元为什么是队长?
中国相术十二宫都有哪些?相术十二宫实用顺口溜
田宅宫在脸上的什么位置?田宅宫代表什么?
Linux 上的开源视频字幕应用–Live Captions
全球信息:Win10专业版激活方法
【环球播资讯】kafka常用指令
剑指Notion:微软协作平台Loop即将进入公开预览阶段
当前滚动:又来一个“保时捷” 江汽EV3申报:国内首搭载46系列大圆柱电芯
160g超满足:嘉兴特产蛋黄大肉粽2.9元/只大促
环球播报:从“看不起”到“跟不上”:200多名理想汽车车主分享用车体验
热头条丨《街霸6》新解说员宣传片:日本少女冠军人美声甜!
新消息丨国内“投教第一股”九方财富登陆港股,业绩亮眼,市值逼近80亿
面向状态机编程:复杂业务逻辑应对之道
多光源渲染方案 - Many Lights Sampling
世界微动态丨在java中String类为什么要设计成final?Java面试常见问题
报道:LoadRunner——脚本优化(二)
马斯克要自建“乌托邦小镇”:员工全部搬进去 自己当“镇长”
拒绝投影行业亮度虚标!Vidda官宣三色激光全家桶新品
环球最资讯丨新一轮国内油价将于17日迎来调整:有再度搁浅可能
【环球聚看点】彻底解决“刹车争议”!电商平台上线特斯拉脚部专用记录仪:全程摄像
当前播报:简单到复杂:C#拷贝文件的3种方法
环球热门:对LSTM应用于图像的初步理解
【数论与组合数学 1】数论简介、素数、算数基本定理
JS回调地狱
天天视讯!GTX 1050 Ti就能跑!顽皮狗公布《最后生还者:Part 1》PC版配置要求
世界看点:自称12年驾龄 特斯拉Model X车主在线维权:踩刹车没反应加速撞柱子
天天观察:苹果古典音乐软件已上架:Apple Music会员免费用!中国市场随后推出
当前资讯!明基推出首款48寸OLED电竞显示器:4K 120Hz、90W反向供电
《生化危机4:重制版》PS5版疑似已偷跑 小心剧透啊
世界百事通!illustrator学习心得体会(illustrator序列号)
工厂模式进阶用法,如何动态选择对象?
迷你天猫商城代码审计
焦点简讯:K8S 性能优化 - K8S APIServer 调优
【全球聚看点】Prompt-Engineering-Guide 学习摘要1
前端设计模式——装饰者模式
65寸4K大屏电视不到2000元 LCD白菜价即将结束:3月价格上涨10%
环球微头条丨最强AI再次进化 ChatGPT下周升级GPT-4:支持视频了
【环球聚看点】免费玩!《生化危机4:重制版》体验版上线:不限时、不限次
当前滚动:德国电动空中出租车Lilium jet完成测试:时速250km/h 全机36个电风扇
杀疯了!长安深夜放大招 购车百亿补贴:深蓝SL03直降2.2万
世界快看点丨分享几个常用的运维 shell 脚本
世界观点:佳兆业成今年首家复牌出险房企
全球球精选!一座河南小县城的全球钻石生意爆火:价格不到天然的1/3
我国再次成功发射一箭双星:天绘六号A/B星顺利进入预定轨道
当前快看:资助8年的女生毕业放弃工作 嫁给有钱人成家庭主妇 资助人:失眠好几天
天天通讯!上班族如何备考公务员_如何备考公务员
全球焦点!读Java性能权威指南(第2版)笔记12_堆内存中
怎么处理消息重发的问题?
每日热点:HEU KMS Activator 30.0.0全能系统数字许可激活工具(全新体验纪念版)
环球热议:用盆吃10袋泡面男子火了 回应月薪2万邀约:浇完家里18亩地再说
实时:第127篇:异步函数(async和await)练习题(异步,消息队列)
焦点!【LeetCode回溯算法#05】分割回文串(复习双指针判断回文以及substr函数使用记录)
今日热议:【django-vue】celery延迟任务、定时任务 django中使用celery 秒杀功能 双写一致性 首页轮播图定时更新 课程前端页面
世界热头条丨关于JAVA泛型数组类型擦除引发的问题及解决方案
环球今日讯!Mint安装MySQL
快讯:苹果iPhone 14黄色款预售:全新配色不加价 5999元起
天天微速讯:租客辞职要搬走被房东介绍工作 当事人感动
即时焦点:一辆腾势敢占两个充电桩:真不怕挨揍?
“常温超导”把A股都晃晕了!真要改变我们的生活?
《霍格沃茨之遗》渗人面部Bug:玩家看了起鸡皮疙瘩
全球短讯!美环保署署长:将在今年最终确定甲烷排放规则
21世纪20年代是几几年(21世纪20年代是几几年)
爆肝两万字,详解fastdfs分布式文件系统
初识rollup 打包、配置vue脚手架