zoukankan      html  css  js  c++  java
  • regression

    单变量线性回归univariate linear regression

    代价函数square error cost function : (J( heta)=frac{1}{2m}sum_{i=1}^{m} (h_{ heta}(x^{(i)}) - y^{(i)})^2)
    (2m)(2)是为了消去后续求导时的(2)
    其中单变量时 (h_{ heta}(x) = heta_0 + heta_1 x) (h是hypothesis的意思)
    上标(i)是指第i组训练数据

    梯度下降法gradient decent:
    脑补一个三维图像:( heta_0, heta_1,J( heta))
    ( heta_i -= alpha frac{partial}{partial heta_i}h( heta))
    (导为正数时,( heta)应减小;导为负数时,( heta)应增大。 陡的时候快,缓的时候慢)
    随着过程的执行, 可以让(alpha)递减去更好的接近(不过即使(alpha)是定值也能走到局部最优点)
    只要 (alpha)不会过大 (过大时J可能甚至越大,脑补一个人在盆地两边跳来跳去越跳越高)
    无论单变量还是多变量,这种线性回归代价函数一定是bowl shape
    当J经过一次迭代后变化不超过原来的(10^-3)时认为converage(如果是陡完平一段继续陡怎么办?)

    多变量线性回归multivariate linear regression

    (h_{ heta} = heta_0 x_0 + heta_1 x_1 + heta_2 x_2 + cdots + heta_n x_n) 其中(x_0 = 1)
    (J( heta)=frac{1}{2m}sum_{i=1}^{m} (h_{ heta}(x^{(i)}) - y^{(i)})^2)
    ( heta_j) -= (alpha frac{partial}{partial heta_j}h( heta) = alpha frac 1 m sum_{i=1}^m (h_{ heta}(x^{(i)})-y^{(i)})x^{(i)}_j) (展开h,求偏导)
    (x^{(i)}_j)表示第i组训练数据的第j个feature

    (脑补表格:每列一个特征,最左添加一列(x_0=1),最后一列是标准值y,每行一个example)
    (X)(m imes(n+1))矩阵,(Y)(m imes1)列向量
    (theta)((n+1) imes1)列向量,(H)(m imes1)列向量

    H= X * theta
    del = H - Y
    J = 1 / (2*m) * sum(del.^2)
    theta -= alpha / m * (X’ * del)
    

    为便于观察并减少迭代次数,我们需要对特征进行缩放,使其范围不至于过大,也不至于过小
    例如(alphafrac{x-min}{max-min}), (alphafrac{x-mean}{max-min}) 具体情况而定
    注意缩放后,predict时的特征也要对应用同种方式缩放
    注意不要一个for循环过去把(x_0)也改了(另外注意octave是从一开始存的)

    线性回归其他函数设计

    如给定房子的长和宽和房价,特征不应是长和宽两个,而应该是占地面积
    如给定数据点明显不是直线,可以考虑( heta_0 + heta_1 x + heta_2 x^2)之类的,x是同一个feature, 令(x_i)(x^i)转多变量问题
    根号和ln其实长得很像

    正规方程normal equation

    公式:( heta = (X^TX)^{-1}X^TY) (why?)
    其中(X)(m*(n+1)), (Y)(m*1)
    求逆即使是伪逆也能算对
    使用时建议(m>n)
    优势:不必要缩放features,不需要跑多次调整(alpha)
    效率比较:梯度下降(省去重复运算)是(n*m*iter),这个是(n^3+n^2m)
    n大的时候这个方法肯定不行。但一般来说n应该不大?m比较大?

  • 相关阅读:
    Java实现 洛谷 P1060 开心的金明
    (Java实现) 洛谷 P1605 迷宫
    (Java实现) 洛谷 P1605 迷宫
    (Java实现)洛谷 P1093 奖学金
    (Java实现)洛谷 P1093 奖学金
    Java实现 洛谷 P1064 金明的预算方案
    Java实现 洛谷 P1064 金明的预算方案
    (Java实现) 洛谷 P1031 均分纸牌
    QT树莓派交叉编译环开发环境搭建(附多个exe工具下载链接)
    武则天红人对唐睿宗的桃色报复(如此缺少城府,注定了要在宫廷中过早地出局)
  • 原文地址:https://www.cnblogs.com/acha/p/11028892.html
Copyright © 2011-2022 走看看