【HowTo ML】回归问题

tips:

  • 样例的表示
    x(1)=x1xn
  • 参数表示
    θ=θ0θn
  • (x,y) 代表样例集.
  • (x(1),y(1)) 为第一组样例.
  • function hypothesis: 假设函数
    • 表示:
    • hθ(x)=θ0+θ1x
    • θi : Parameter 参数

回归问题(Regression Problem)

术语上回归意味着要预测这类连续值属性的种类。

代价函数

代价函数可以评估函数的正确度,也可以说惩罚度,模型越不准惩罚越大.

平方误差函数

J(θ)=12mi=1m(hθ(x(i))y(i))2

为了待会梯度下降的书写方便我们来求个偏导数.
J(θ)θj=1mi=1m(hθ(x(i))y(i))x(i)

contour plots or contour figures:轮廓图
视觉化的参数估计

回归的目标:

argmin(θ)J(θ)

意义是使得J函数最小化的参数

多元线性回归(Multivariate Linear Regression)

当我们拥有多个特征时,称为多元线性回归

h(x)=θTX
x=[x0x1x2xn],x0=1
θ=[θ0θ1θ2θ3]

多项式回归(Polynomial regression)

当我们使用一项特征不能很好拟合时,我们使用该特征的多项式, 参数表示与假设函数同上,但是特征变量为我们假设的多项式.

梯度下降(Gradient descent algorithm)

hint:

  • := 赋值
  • α 学习速率(learning rate)
  • 梯度下降中需要同时更新 θ0 θ1

梯度下降算法伪代码:

repeatuntilconvergence{θj:=θjαθjJ(θ0,θ1)(for j:n,n=2)}

带入待解函数后可化简为
repeatuntilconvergence{θj:=θjα1mi=1m(hθ(x(i))y(i))x(i)j(for j:n)}

梯度下降的技巧

特征缩放(Feature Scaling)

normalization is USEFUL
思想:使特征处于相似的值将加快缩放
一般来说将特征缩放至 xi[3,3] 都行(经验)

均值归一化(mean normalization)

(我的理解是带偏移量的缩放,使 xi[1,1] )
使用 xi 来替代 xiμi 来使特征接近0 (除了 x0 定义为 1
一般公式: xi(xiμi)/si
μi 一个任意的 xi
si , xi 的范围( maxmin )

梯度下降率(Gradient decent)

【HowTo ML】回归问题_第1张图片
选取过小的下降率会使 J(θ) 下降过慢
【HowTo ML】回归问题_第2张图片
选取过大的下降率会使 J(θ) 不下降、上升或者跳跃
总结: α 一般就 0.0001 0.0003 0.001 0.003 这样测试

正规方程(Normal Equation)

normalization is USELESS
思想:求导为0时的参数就是使得代价函数最小的参数.
推导可得:

X(design matrix)=(x(1))T(x(n))T

θ=(XTX)1XTy

其中: X m×(n+1) 的矩阵, y m×1 的矩阵
特点:

需要算逆矩阵( O(n3) )
我们写ACM题的时候一般时间不会超过 108

出现 XTX 不可逆(Non-invertible)的情况:

  • 冗余特征(Redundant feature/linearly dependent):
    一个特征的值可以由另一些变量来表示
  • 特征过多:
    e.g. m<=n
    解决:
    • 删除特征
    • 正则化

你可能感兴趣的:(机器学习)