亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術文章
文章詳情頁

python中最小二乘法詳細講解

瀏覽:36日期:2022-06-27 15:15:52

python中在實現一元線性回歸時會使用最小二乘法,那你知道最小二乘法是什么嗎。其實最小二乘法為分類回歸算法的基礎,從求解線性透視圖中的消失點,m元n次函數的擬合,包括后來學到的神經網絡,其思想歸根結底全都是最小二乘法。本文向大家介紹python中的最小二乘法。

一、最小二乘法是什么

最小二乘法Least Square Method,做為分類回歸算法的基礎,有著悠久的歷史(由馬里·勒讓德于1806年提出)。

二、最小二乘法實現原理

通過最小化誤差的平方和尋找數據的最佳函數匹配。

三、最小二乘法功能

利用最小二乘法可以簡便地求得未知的數據,并使得這些求得的數據與實際數據之間誤差的平方和為最小。

最小二乘法還可用于曲線擬合。其他一些優化問題也可通過最小化能量或最大化熵用最小二乘法來表達。

四、最小二乘法兩種視角描述:“多線→一點”視角與“多點→一線”視角

1、已知多條近似交匯于同一個點的直線,想求解出一個近似交點:尋找到一個距離所有直線距離平方和最小的點,該點即最小二乘解;

2、已知多個近似分布于同一直線上的點,想擬合出一個直線方程:設該直線方程為y=kx+b,調整參數k和b,使得所有點到該直線的距離平方之和最小,設此時滿足要求的k=k0,b=b0,則直線方程為y=k0x+b0。

實例擴展:

最小二乘法矩陣

#! /usr/bin/env python# -*- coding: utf-8 -*-import numpy as npdef calc_left_k_mat(k): ''' 獲得左側k矩陣 :param k: :return: ''' k_mat = [] for i in range(k + 1): now_line = [] for j in range(k + 1): now_line.append(j + i) k_mat.append(now_line) return k_matdef calc_right_k_mat(k): ''' 計算右側矩陣 :param k: :return: ''' k_mat = [] for i in range(k + 1): k_mat.append([i, i + 1]) return k_matdef pow_k(x, k): ''' 計算x列表中的k次方和 :param x: 點集合的x坐標 :param k: k值 :return: ''' sum = 0 for i in x: sum += i ** k return sumdef get_left_mat_with_x(k_mat, k): ''' 將 左側k矩陣運算得到左側新的矩陣 :param k_mat: :param k: :return: ''' left_mat = [] for kl in k_mat: now_data = [] for k in kl: now_data.append(pow_k(x, k)) left_mat.append(now_data) return left_matdef get_right_mat_with(right_k_mat): ''' 將 右側k矩陣運算得到右側新的矩陣 :param right_k_mat: :return: ''' right_mat = [] for i in range(len(right_k_mat)): sum = 0 for xL, yL in zip(x, y): a = (xL ** right_k_mat[i][0]) * (yL ** right_k_mat[i][1]) sum += a right_mat.append(sum) return right_matdef fuse_mat(left, right): ''' 融合兩個矩陣 :param left: :param right: :return: ''' new_mat = [] for i in range(len(left)): asd = np.append(left[i], right[i]) new_mat.append(list(asd)) return new_matif __name__ == ’__main__’: k = 3 x = [1, 2, 3] y = [1, 2, 3] # 計算原始左側K矩陣 left_k_mat = calc_left_k_mat(k) print('原始左側K矩陣') print(left_k_mat) # 計算原始右側K矩陣 right_k_mat = calc_right_k_mat(k) print('原始右側k矩陣') print(right_k_mat) # 計算左側 k 矩陣 new_left_mat = get_left_mat_with_x(k_mat=left_k_mat, k=k) # 計算右側 k 矩陣 new_right_mat = get_right_mat_with(right_k_mat=right_k_mat) print('計算后左側K矩陣') print(new_left_mat) print('計算后右側側K矩陣') print(new_right_mat) print('-----' * 10) # 融合兩個矩陣 左側 矩陣每一行增加 右側矩陣的對應行 new_all = fuse_mat(new_left_mat, new_right_mat) print('完整矩陣') print(new_all)

到此這篇關于python中最小二乘法詳細講解的文章就介紹到這了,更多相關python中最小二乘法如何理解內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 国产精品一区欧美日韩制服 | 小明成人永久视频在线观看 | 永久精品免费影院在线观看网站 | 国产一区二区高清 | 欧美黄色片视频 | 男女激情视频国产免费观看 | 在线观看黄网址 | 久久国产精品久久久久久小说 | 欧亚色视频 | 1024国产高清精品推荐 | 青青青国产在线手机免费观看 | 中文字幕黄色片 | 色悠久久久久综合欧美99 | 久久九九久精品国产 | 国产精品视频免费一区二区三区 | 日韩伊人网 | 欧美成人亚洲欧美成人 | 国产高清资源 | 给个网站可以在线观看你懂的 | 最近中文字幕免费完整 | 久久久精品久久久久三级 | 亚洲一级黄色毛片 | 99精品国产一区二区青青牛奶 | 美国一级做a一级视频 | 午夜日韩在线 | 欧美亚洲日本韩国一级毛片 | 特极毛片 | 国内精品一区二区三区最新 | 国产区精品 | 国产婷婷综合丁香亚洲欧洲 | 69堂在线观看国产成人 | 曰韩毛片| 国产成人手机视频 | 日韩女人毛片在线播放 | 免费黄网大全 | 国产免费一区二区三区 | 国产精品嫩草影院88v | 亚洲特级aaaaaa毛片 | 嗯 用劲 好爽 好深 免费视频 | 一级毛片免费不卡在线 | 中文国产成人精品久久无广告 |