拟合法
拟合法定义
得到的曲线不一定经过所有的样本点,只要保证误差足够小
确定拟合曲线
最小二乘法
- 一次拟合: y = k ∗ x + b y = k*x+b y=k∗x+b
n 为 样 本 的 个 数 n为样本的个数 n为样本的个数
评价拟合的好坏
所用的函数最好是简单的,如果选择复杂的拟合函数,可能会出现机器学习中过拟合现象。
所以需要 R 2 R^2 R2和拟合函数的复杂程度综合评判
1. 拟合函数是参数线性 — 拟合优度 R 2 R^2 R2
-
y i 代 表 第 i 个 样 本 点 y_i代表第i个样本点 yi代表第i个样本点
-
y ˉ 代 表 样 本 平 均 值 \bar{y}代表样本平均值 yˉ代表样本平均值
-
y ^ 代 表 拟 合 的 值 \hat{y}代表拟合的值 y^代表拟合的值
-
S S T = S S E + S S R SST = SSE + SSR SST=SSE+SSR
-
R 2 越 大 越 好 ( 拟 合 函 数 复 杂 度 不 高 时 ) , 只 能 用 于 线 性 拟 合 函 数 评 判 R^2越大越好(拟合函数复杂度不高时), 只能用于线性拟合函数评判 R2越大越好(拟合函数复杂度不高时),只能用于线性拟合函数评判
-
此处讨论的线性是对参数为线性而非对变量为线性
例如: y = a + b ∗ x 2 是 对 参 数 a , b 为 线 性 的 函 数 y=a+b*x^2是对参数a,b为线性的函数 y=a+b∗x2是对参数a,b为线性的函数
2. 拟合函数是非参数线性 — 误差平方和SSE
SSE越小越好
matlab拟合工具箱(Curve Fitting Tool)
1. 红框为自定义的拟合函数
2. 多项式拟合函数
Degree 由自己选择阶数
Center and scale 去中心化消除量纲的影响
3.Fit Options
上两图中Fit Options选项:
当拟合函数复杂的时候,会使用优化算法,得到的是一个近似解,也就是说解的效果与初始值 (StartPoint) 有关,所以当解的效果不好时,可以修改Fit Options->StartPoint
对已知的函数直接画图
y = @(x)exp(x);
fplot(y,[-1,10])
- fplot对匿名函数画图
- y 定义匿名函数
- fplot 第二个参数为所画x的范围