郑州天道做网站,wordpress怎么看代码,建个网站有什么用,南昌企业网站建设目录
1 什么是回归分析
1.1 什么是线性回归
1.2非线性回归
2 数据和判断方法
2.1 原始数据
2.2 判断方法#xff1a;最小二乘法
3 关于线性回归的实测
3.1 用直线模拟
3.2 怎么判断哪个线性模拟拟合更好呢#xff1f;
3.2.1 判断标准
3.2.2 最小二乘法
3.2.3 高维…目录
1 什么是回归分析
1.1 什么是线性回归
1.2非线性回归
2 数据和判断方法
2.1 原始数据
2.2 判断方法最小二乘法
3 关于线性回归的实测
3.1 用直线模拟
3.2 怎么判断哪个线性模拟拟合更好呢
3.2.1 判断标准
3.2.2 最小二乘法
3.2.3 高维度数据
3.3 用python来算下?暂缺用plot画图?
4 关于误差和 E(θ)1/2*(f(xi)-yi)^2 这个函数本身
4.0 注意新手错误
4.1 E(θ)这个函数本身
4.2 E(θ) 是否有最小值
4.3 但是如何获得这个最小值呢
4.3.1 方法1直接求导数
4.3.2 如果找到E(θ)的最小值就能找到对应的参数
5 用最速下降方法找到一个函数的最小值
5.1 最速下降法
5.2 假设 f(x) 如下且从图像上看是有最小值的
5.3 最速下降方法的详细计算过程
5.3.0 最速下降方法公式
5.3.2 先分析函数f(x) 和其导函数 f(x)
5.3.3 最速下降方法的迭代过程
5.3.4 可以看到2个结论 1 什么是回归分析
从时序数据来看从过去数据去分析生成1个模拟曲线。然后用这个模拟曲线去用新的 x 去预测新的数据 1.1 什么是线性回归
线性就是指直线从线性代数的角度来看就是这些向量是否线性相关如果线性无关就是共线。线性回归就是回归分析的模拟曲线是直线 1.2非线性回归
如果用曲线模拟也就是用非一次函数/非直线去模拟这样就是非线性回归了把等会儿试试 2 数据和判断方法
2.1 原始数据
构造的原始数据故意构造了一个类二维曲线数据这样用直线去模拟就一定有较大的误差ROUND(0.5*C10^1.80.5*C102,0) 2.2 判断方法最小二乘法
均方误差 MSE1/n*(f(xi)-yi)^2误差和E(θ)1/2*(f(xi)-yi)^2 ,类似MSE 3 关于线性回归的实测
3.1 用直线模拟
做了3个线性模拟
f(x)12xf(x)13xf(x)12.8x 3.2 怎么判断哪个线性模拟拟合更好呢
3.2.1 判断标准
E(θ)1/2*(f(xi)-yi)^2判断标准就是用 E(θ),哪个E(θ)更小哪个的拟合效果更好。配合图形上曲线的对比也可以看到这个结论 3.2.2 最小二乘法
用E(θ)的大小可以判断不同的拟合曲线的优劣理论上E(θ)趋近于0就可以找出拟合最好的曲线 3.2.3 高维度数据
实际上即使不是二维数据不能用图形化的形式直观的看到。
仍然还是可以用E(θ)1/2*(f(xi)-yi)^2来判断比较模拟曲线的拟合程度
上帝视角的 yROUND(0.5*C10^1.80.5*C102,0)f(x)12x E(θ)352f(x)13x E(θ)60.5f(x)12.8xE(θ)48.4从图形看f(x)12.8x , E(θ)48.4 ,这个直线模拟的效果也确实相对更好 3.3 用python来算下?暂缺用plot画图? 4 关于误差和 E(θ)1/2*(f(xi)-yi)^2 这个函数本身
4.0 注意新手错误
要分析得是 E(θ) 是否有最小值从而找到误差最小得模拟曲线--以及模拟曲线的参数。而不是分析f(x) 这个模拟函数是否有最小值 4.1 E(θ)这个函数本身
一般来说是多元函数曲线这样很可能就有最小值 4.2 E(θ) 是否有最小值
首先说明如果E(θ)1/2*(f(xi)-yi)^2 这个函数本身 是直线哪是无法找到最小值的如果E(θ)是一个开头向下向上凹的曲线也是没有最小值的只有E(θ)是一个开头向上向下凹的曲线即使有多个波段也应该是有最小值的 例子如果E(θ)1/2*(f(xi)-yi)^2 这个函数本身 是直线哪是无法找到最小值的 4.3 但是如何获得这个最小值呢
方法1直接求导数方法2用最速下降法来逐步达到最小值 4.3.1 方法1直接求导数
知道函数形式后求导函数但是后面的函数可能很复杂导函数不好求 4.3.2 如果找到E(θ)的最小值就能找到对应的参数
后面说明怎么求这样E(θ)函数的最小值只有E(θ)是一个开头向上向下凹的曲线即使有多个波段也应该是有最小值的 求E(θ)的最小值的目的就是为了判断这个模拟曲线的拟合程度最好而前提是曲线足够通用比如 E(θ)θ0θ1xθ2x^2....函数是通用形式哪剩下的就是去用 求E(θ)的最小值得过程去找到合适得 参数(θ0,θ1,θ2...) 5 用最速下降方法找到一个函数的最小值
5.1 最速下降法
最速下降方法xx-rate*f(x)用学习率找到 f(x)取最小值时的x学习率一般要取小点比如0.10.01 等等
学习率太大可能无法收敛学习率太小收敛速度会慢 5.2 假设 f(x) 如下且从图像上看是有最小值的 5.3 最速下降方法的详细计算过程
5.3.0 最速下降方法公式
最速下降方法xx-rate*f(x) 用学习率找到 f(x)取最小值时的x 5.3.2 先分析函数f(x) 和其导函数 f(x)
x1时取最小值 函数 f(x)x^2-2x1导函数 f(x)2x-2 那么x1时f(x)0就是f(x)取到最小值 5.3.3 最速下降方法的迭代过程(不断迭代取新的x)
比如取 x0为初始rate0.1第1轮new x x-rate*f(x) 0-0.1*(2*0-2)0-0.1*(-2)0.2新增了0.2第2轮new x x-rate*f(x) 0.2-0.1*(2*0.2-2)0.2-0.1*(-1.6)0.20.160.36新增了0.16第2轮new x x-rate*f(x) 0.36-0.1*(2*0.36-2)0.36-0.1*(-1.28)0.360.1280.488新增了0.128 5.3.4 可以看到几个结论
1通过xx-rate*f(x) 公式迭代算出来的新的x, 每次增加的幅度再减小0.2→0.16→0.1282只有增加值逐渐减小这样计算多次后x会收敛。3收敛在x1与x的初始值无关可以看到无论x的初始值取多少比如初始x0 或者x5经过这个算法计算20次后都趋近了x1这个值。4EXCEL里计算的数列是符合的x0时这1行新x数据0.2 0.36 0.488 0.5904 0.67232 0.737856 5.3.5如果学习率rate1 取值过大导致永远无法收敛。见下图