线性回归

作者: zidea | 来源:发表于2019-09-27 21:43 被阅读0次
    mxnet.jpg

    回归问题

    线性回归可以应用在股票预测,房价预测,无人车驾驶、还就就是推荐系统,淘宝或者京东,用户A购买商品 B 可能性也是。李宏毅老师是以预测宝可梦进化为例来讲的线性回归,所谓线性回归就是可以暂时理解根据以往经验(数据)总结出规律来预测未来。

    抛出问题

    f(x) = 2 \cdot x + 0.5
    我们先估计第一个特征方程
    然后在估计一个两个特征的特征
    f(x_1,x_2) = 2 x_1 + 3 x_2 + 5
    今天我们是通过学习来找到这么方程然后,用方程来预测一些值,那么我们如何通过学习来找到这个函数呢。这也就是今天我们今天主要要学习的。

    1.定义模型

    什么是模型,所谓模型我们认为是一组函数的集合,
    y = wx + b
    这里我们定义函数
    f(x) = w \cdot x + b
    在这个函数的参数 w 和 b 可能是任意数值,

    f_1 = 0.1x + 2
    f_2 = 0.8x + 1
    f_3 = 0.75x - 2

    这是一个线性模型
    y = \sum x_iw_i

    收集数据

    (x^1,\hat{y}^1) (x^2,\hat{y}^2) \cdots (x^i,\hat{y}^i)

    import numpy as np
    from matplotlib import pyplot as plt
    from mpl_toolkits.mplot3d import Axes3D
    
    # create train data
    X1 = np.random.uniform(50,100,100)
    X2 = np.random.uniform(100,200,100)
    
    fig = plt.figure()
    ax1 = plt.axes(projection='3d')
    
    fig=plt.figure()
    
    Y = np.dot(X1,2) + np.dot(X2,3) + 5
    
    print(Y)
    
    ax1.scatter3D(X1,X2,Y, cmap='Blues')  
    plt.show()
    

    评估

    评估我们函数好坏,这里定义一个损失函数(用L表示),损失函数是接受我们一个模型一个函数作为参数,那么学过函数编程都知道这就是所谓高阶函数,我们f(x) 是 L的参数。这个函数输出就是通过数值表示这个函数有多好,和多不好。

    L(f(x))= L(b,w)
    因为我们这里 f(x) 是 b 和 w 决定的,所以我们就可以用 L(b,w)

    L(f) = \sum_{i=1}^n(\hat{y}^n = (b + w \cdot x^n ))^2

    相关文章

      网友评论

        本文标题:线性回归

        本文链接:https://www.haomeiwen.com/subject/qjoauctx.html