为了账号安全,请及时绑定邮箱和手机立即绑定

Python实现线性回归

难度初级
时长 1小时 5分
学习人数
综合评分8.77
32人评价 查看评价
9.0 内容实用
8.8 简洁易懂
8.5 逻辑清晰
  • 看不懂怎么回事……
    查看全部
    0 采集 收起 来源:梯度下降

    2021-02-02

  • 线性回归算法

    矩阵算法、梯度算法

    http://img1.sycdn.imooc.com//5fa4ffab0001c2f319201200.jpg

    查看全部
    0 采集 收起 来源:课程总结

    2020-11-06

  • 梯度下降法计算http://img1.sycdn.imooc.com//5fa3bc7500014d9719201200.jpg

    查看全部
  • 矩阵的操作

    http://img1.sycdn.imooc.com//5fa3b89e00018b5319201200.jpg

    查看全部
    0 采集 收起 来源:开发准备

    2020-11-05

  • 矩阵A,B的点成:np.dot(A,B)

    查看全部
    0 采集 收起 来源:开发准备

    2020-05-14

  • 矩阵B的逆:np.inv(B)

    查看全部
    0 采集 收起 来源:开发准备

    2020-05-14

  • 矩阵A的转置:A.T

    查看全部
    0 采集 收起 来源:开发准备

    2020-05-14

  • 最小二乘法模型

    查看全部
    0 采集 收起 来源:最小二乘法

    2020-03-09

  • 梯度下降函数

    查看全部
    0 采集 收起 来源:梯度下降

    2020-02-17

  • 直接运算的问题

    1. 矩阵需要满秩

    2. 运算性能

    查看全部
    0 采集 收起 来源:梯度下降

    2020-02-17

  • 最小二乘法模型

    查看全部
    0 采集 收起 来源:最小二乘法

    2020-02-17

  • 线性回归的数学表示

    查看全部
  • θ=theta

    alpha是学习速率[0,1]——

            //保证梯度下降的速率不要太快,在一个合适的区间之内,是函数迅速收敛,找到局部最小值

    theta=theta-alpha(theta * X - Y)*X

    np.sum()/组数——加权平均


    import numpy as np
    from numpy.linalg import inv
    from numpy import dot
    from numpy import mat
    
    if __name__ == "__main__":
        # 训练数据
        x = mat([1, 2, 3]).reshape(3, 1)  # 1行3列转化为3行1列
        y = 2 * x
    
        #梯度下降:
        # 原理:多次更新theta的值,通过theta与x,y的关系来得到theta
        # theta = theta - alpha*(theta*x-y)*x  (alpha取值为0到1,保证梯度下降的变化速率不要太快,在一个合适的区间之内,使得函数迅速收敛,找到局部最小值)
        theta = 1.0  #初始化theta
        alpha = 0.1  #初始化alpha
        for i in range(100):
            theta = theta + np.sum(alpha * (y - dot(x, theta)) * x.reshape(1, 3))/3   # np.sum 求加权平均值
    
        print(theta)


    查看全部
  • import numpy as np
    from numpy.linalg import inv
    from numpy import dot
    from numpy import mat
    
    
    if __name__ == "__main__":
        A = np.mat([1, 1])  # 1行2列的矩阵
        print('A:\n', A)
        Arr = np.array([1,1])  #数组
        print("Arr:\n",Arr)
    
        #A矩阵是1*2转化为2*1
        print("A矩阵转化2行1列:", A.reshape(2, 1))
        # A矩阵转置
        print('A.T:\n', A.T)  # 1行2列 转置为 2行1列
    
        print("-------------------------")
        B = mat([[1,2],[2,3]])  #2*2的矩阵
        print('B:\n',B)
        #求B矩阵的逆矩阵
        print('B的逆矩阵:\n', inv(B))
        #获取B矩阵的第一行
        print("B矩阵的第一行",B[0, :]) #第一行所有列
        #获取B矩阵的第一列
        print("B矩阵的第一列:", B[:, 0]) #所有行第一列
        print("B矩阵转化为1行4列:\n", B.reshape(1, 4))
    
        # A: 1*2 B: 2*2
        print('A*B:\n', dot(A,B))
        # A.T 2*1 B:2*2
        print('B*A:\n', dot(B,A.T))  #B矩阵*A的转置矩阵


    查看全部
    0 采集 收起 来源:开发准备

    2019-10-26

  • 梯度下降算法

    查看全部
    0 采集 收起 来源:梯度下降

    2019-10-26

  • 直接计算的问题

    查看全部
    0 采集 收起 来源:梯度下降

    2019-10-26

  • 最小二乘法模型

    向量表示

        Y=θX,θ和X是矩阵


    L=1/2(θX-Y)^T(θX-Y)

    第二行为损失函数(欧几里得距离/向量中向量空间的距离)

                //这个损失函数是线性的,而神经网络的损失函数是非线性的


    查看全部
    0 采集 收起 来源:最小二乘法

    2019-10-26

  • 线性回归的数据表示


    查看全部
  • 什么是线性回归

    y~x :y与x是一对一的关系,映射到几何上就是二维坐标系中的直线方程

    Y = θX

    通过训练,得到θ的过程,就是线性回归算法。

    其中:x是输入,y是输出,是结果

    查看全部
首页上一页1234567下一页尾页

举报

0/150
提交
取消
课程须知
1、有机器学习基础 2、有一定的python基础
老师告诉你能学到什么?
1、线性回归的概念 2、最小二乘法的python实现 3、梯度下降的python实际 4、编程处理线性回归分析的一般方法

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!