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

Python实现线性回归

难度初级
时长 1小时 5分
学习人数
综合评分8.77
32人评价 查看评价
9.0 内容实用
8.8 简洁易懂
8.5 逻辑清晰
  • 理解通过梯度下降进行参数求解过程

    直接计算的问题

    https://img1.sycdn.imooc.com//5b559a6c000157b103330187.jpg

    矩阵是否满秩(Python矩阵运算对于不是满秩矩阵的情况适用模糊近似处理)

    运算性能


    梯度下降法近似的计算,解决了直接计算的问题

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

    2018-07-23

  • 理解向量运算进行参数求解过程

    向量表示

        Y=θX,θ和X是矩阵

    https://img1.sycdn.imooc.com//5b5596ff0001152504760300.jpg

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

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

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

    目的是找到一个L,使函数最小

                //求极值或者求最小值就是对一个函数求导

    θ=((X^T)X)^-1(X^T)Y   //参数计算

    就是第二行的损失函数的求导结果

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

    2018-07-23

  • 线性回归的一般化模型的数学表示https://img1.sycdn.imooc.com//5b5593e30001a53304160202.jpg

    θ^0表示一维时的截距

                    也表示为多维时的偏移量

    https://img1.sycdn.imooc.com//5b5595fa0001e6f902100214.jpg

    查看全部
  • 通过训练得到θ的过程称为线性回归

    查看全部
  • 线性回归是最简单的模型

    查看全部
    0 采集 收起 来源:课程背景

    2018-07-23

  • from numpy import *
    import pandas as pd
    
    dataset = pd.read_csv('data.csv')
    temp = dataset.iloc[:, 2:5]
    temp['x0'] = 1
    X = temp.iloc[:, [3, 0, 1, 2]]
    Y = dataset.iloc[:, 1]
    #(X'X)^(-1)X'Y,随着训练集增大,计算速度变慢
    theta = dot(dot(inv(dot(X.T, X)), X.T), Y) 
    #梯度下降法:theta = theta - alpha*(theta*X - Y)*X
    theta = array([1., 1., 1., 1.]).reshape(4, 1) #初始化theta
    alpha = 0.1 #定义学习率,若不收敛-->调小,若效率慢-->调大
    temp = theta #同步更新theta,需要temp缓存
    X0 = X.iloc[:, 0].values.reshape(150, 1)
    X1 = X.iloc[:, 1].values.reshape(150, 1)
    X2 = X.iloc[:, 2].values.reshape(150, 1)
    X3 = X.iloc[:, 3].values.reshape(150, 1)
    for i in rage(10000):
        temp[0] = theta[0] - alpha*dot(X0.T, dot(X, theta)-Y)
        temp[1] = theta[1] - alpha*dot(X1.T, dot(X, theta)-Y)
        temp[2] = theta[2] - alpha*dot(X2.T, dot(X, theta)-Y)
        temp[3] = theta[3] - alpha*dot(X3.T, dot(X, theta)-Y)
        theta = temp
    查看全部
    0 采集 收起 来源:回归分析实战

    2018-07-13

  • 总代码记录https://img1.sycdn.imooc.com//5b2c81470001321d13650755.jpg

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

    2018-06-22

  • Python实现线性回归分析:

    技术背景:机器学习的兴起 线性回归模型的特点

    实际意义:金融 数学 医学 统计

    查看全部
    0 采集 收起 来源:课程背景

    2018-06-17

  • 牛逼了,不明觉厉

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

    2018-06-10

  • 用梯度下降算法来实现:

    1、梯度下降算法方程:theta = theta - alpha*(theta*X - Y)*X

    2、程序实现:

    alpha = 0.1

    theta = 1.0

    for i in range(100):

         theta = theta + np.sum(alpha * (Y - dot(X, theta)) * X.reshape(1, 3))/3

    查看全部
  • theta = (X'X)^-1X'Y的程序表达式:

    theta = dot(dot(inv(dot(X.T, X)), X.T), Y)

    查看全部
  • Y = θX

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

    查看全部
  • 线性模型 —— 非线性模型 —— 网络模型(神经网络)

    查看全部
    0 采集 收起 来源:课程背景

    2018-05-18

  • 线性回归

    查看全部
    0 采集 收起 来源:回归分析实战

    2018-05-12

  • 梯度下降

    查看全部

举报

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

微信扫码,参与3人拼团

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

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