机器学习-算法理论

Nonlinear Regression

2021-02-05  本文已影响0人  shudaxu

对于线性回归,y能表示成变量\vec x的一个线性变换,因此\vec \theta直接表现为\vec x的系数。注意,在线性回归中,只要系数是线性的就行,每一个x可以是x的任意无参表达式,譬如:x^2 , e^x,\frac 1 x, ln(x)
对于非线性回归,由于函数的形式可以是灵活的。所以要做确定性的分析比较困难。但是其中有一部分是linearlizable function,可以转化为线性问题来解决。

Linearizable

譬如:h(x,\theta)=\theta_0x^{\theta_1},注:\theta_2是作为系数的参数
可以两边同时取ln,然后化简成:
ln(h(x,\theta))=ln(\theta_0) + \theta_1ln(x)
类似地:
h(x,\theta)=\frac {\theta_1 x}{\theta_2+x}可以通过求\frac 1 {h(x,\theta)}转化
对于可以线性化的问题,理论上也不一定能直接用传统方式求解。因为其error项的假设变了[3]。所以理论上我们必须要进行residual analysis.才能使用[4]

Parameter Estimate

线性回归和非线性回归的主要差异在于求解的方法:
问题设定,最小化residual,即:
r_i (\theta) = (y_i - f(x_i,\theta))^2
Residual(\theta)= \sum_{i} r_i(\theta)
residual最小,即是R(\theta)最小值的时,即其导数为0的时候R'(\theta)=0,由chain rule可得:
\frac {\partial R}{\partial \theta_j}=2\sum_i (y_i - f(x_i,\theta)) \frac{\partial f(\theta,x_i)}{\partial \theta_j}=0 [6]
注:这里x_i是常数

Refer:
[1]:software:1stopt
[2]:Introduction to Nonlinear Regression
[3]:Introduction to Nonlinear Regression 1:i The Statistically Complete Model
[4]:当然,对非homoscedasticity的数据,可以用WLR
[5]:https://zhuanlan.zhihu.com/p/38185542
[6]:对比Linear有OLS estimator对应close form的唯一解。而Nonlinear: https://en.wikipedia.org/wiki/Non-linear_least_squares
关于close form的推导,也可以直接用newton equation求得:
https://stats.stackexchange.com/questions/493173/regularised-linear-regression-with-newtons-method
或者直接见OLS estimator的推导,即是这个gradient=0(本身convex),详见:https://en.wikipedia.org/wiki/Ordinary_least_squares
以及ridge estimator
https://www.statlect.com/fundamentals-of-statistics/ridge-regression

上一篇下一篇

猜你喜欢

热点阅读