加载中
加载中
表情图片
评为精选
鼓励
加载中...
分享
加载中...
文件下载
加载中...
修改排序
加载中...
机器学习回归问题 - 高维多项式拟合
三硝基二甲苯2020/08/24软件综合 IP:山东
中文摘要
本文简单介绍了如何利用 Python 语言及第三方库(numpy, sko)来完成梯度下降法与粒子群算法的高阶非线性函数拟合这一基本的机器学习问题。
Abstract
A fundamental mechanical learning task of Multiple higher order nonlinear functions was introduced and achieved by Python programming with the third-party libraries which included numpy and sko.
关键词
机器学习
Mechanical Learning

引言


通过高维多项式,可以拟合任意维度超平面上分布的数据,精度随多项式阶次升高而升高。

如果指导数据分布的具体形式,可以使用自定义的函数进行拟合,通常会有更好的效果。

有一组数据分布如图


不难看出这是一个马鞍面,所以我们以二元二次的拟合函数来进行演示。

原理介绍

首先写出拟合函数的表达形式

fpredict=F(x,y)=c00+c10x+c01y+c20x2+c11xy+c02y2.

fpredict=F(x,y)=c00+c10x+c01y+c20x2+c11xy+c02y2.

fpredict=F(x,y)=c00+c10x+c01y+c20x2+c11xy+c02y2.

不难看出上面的式子一共有 6 个未知参数。一般来说,对于mmm维nnn次的多项式函数,最多含有CnmnCmnnCmnn个参数。

为了方便描述拟合函数与原数值值间的差异,我们使用均方差函数作为损失函数,损失函数越小,说明拟合函数越准确。

loss=1kki=1(fiF(xi,yi))2loss=1ki=1k(fiF(xi,yi))2

loss=1ki=1k(fiF(xi,yi))2

因为cab属于f=F(x,y)内的参数,所以:

loss=L(c00,c10,c01,c20,c11,c02)

至此, 多项式回归问题 转化为了 求损失函数的极小值问题。

可以使用梯度下降法或粒子群算法等一系列最优化求极值的方法进行求解。具体的原理可以看其他博主写的文章。


[修改于 4年5个月前 - 2020/09/08 23:13:03]

来自:计算机科学 / 软件综合
2
新版本公告
~~空空如也
三硝基二甲苯 作者
4年6个月前 IP:山东
885229

稍等我需要研究一下新版科创怎么发帖

引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
虎哥
4年5个月前 IP:四川
885859

我给过滤了一下格式,不知道对不对。

不能从word之类东西复制黏贴,文字要纯文字(记事本过滤),公式要latex编码。或者直接全文用LaTex写也可以,都支持的。上面帖子烂了是因为里面带有某个软件的特殊格式代码。

引用
评论
1
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论

想参与大家的讨论?现在就 登录 或者 注册

所属专业
所属分类
上级专业
同级专业
三硝基二甲苯
进士 学者 机友 笔友
文章
71
回复
366
学术分
1
2011/01/03注册,1年5个月前活动
暂无简介
主体类型:个人
所属领域:无
认证方式:手机号
IP归属地:未同步
插入公式
评论控制
加载中...
文号:{{pid}}
投诉或举报
加载中...
{{tip}}
请选择违规类型:
{{reason.type}}

空空如也

笔记
{{note.content}}
{{n.user.username}}
{{fromNow(n.toc)}} {{n.status === noteStatus.disabled ? "已屏蔽" : ""}} {{n.status === noteStatus.unknown ? "正在审核" : ""}} {{n.status === noteStatus.deleted ? '已删除' : ''}}
  • 编辑
  • 删除
  • {{n.status === 'disabled' ? "解除屏蔽" : "屏蔽" }}
我也是有底线的