Linear Least Squares 的多项式表达和矩阵表达 与 Python 实现

本文详细介绍了线性最小二乘法在解决非线性问题时的多项式和矩阵表示,并通过Python代码展示了如何进行求解。线性最小二乘法是一种广泛应用的数据拟合技术,通过对数据进行最佳拟合,找到误差平方和最小的解。文中首先阐述了多项式表达形式,然后过渡到矩阵形式,最后提供了Python代码示例来实现这一过程。
摘要由CSDN通过智能技术生成


import numpy as np
import random
import sklearn
from sklearn.datasets.samples_generator import make_regression 
import pylab
from scipy import stats
%matplotlib inline

def gradient_descent(alpha, x, y, ep=0.0001, max_iter=100):
    converged = False
    iter = 0
    m = x.shape[0] # number of samples

    # initial theta
    t0 = np.random.random(x.shape[1])
    t1 = np.random.random(x.shape[1])

    # total error, J(theta)
    J = sum([(t0 + t1*x[i] - y[i])**2 for i in range(m)])

    # Iterate Loop
    while not converged:
        # for each training sample, compute the gradient (d/d_theta j(theta))
        grad0 = 1.0/m * sum([(t0 + t1*x[i] - y[i]) for i in range(
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值