1. 程式人生 > 實用技巧 >線性迴歸演算法實驗分析

線性迴歸演算法實驗分析

一、線性迴歸實驗目標

  演算法推導過程中已經給出了求解方法,基於最小乘法直接求解,但這並不是機器學習的思想,由此引入了梯度下降方法。

  實驗主要內容:

  (1)線性迴歸方程實現

  (2)梯度下降效果

  (3)對比不同梯度下降測量

  (4)建模曲線分析

  (5)過擬合與欠擬合

  (6)正則化的作用

  (7)提前停止策略

二、實驗步驟

  首先準備環境,配置畫圖引數,過濾警告。

import numpy as np
import os
import warnings
import matplotlib
import matplotlib.pyplot as plt

# 畫圖引數設定
plt.rcParams['axes.labelsize'] = 14 plt.rcParams['xtick.labelsize'] = 12 plt.rcParams['ytick.labelsize'] = 12 # 過濾警告 warnings.filterwarnings('ignore')

  構造資料點(樣本):

# 通過rand函式可以返回一個或一組服從“0~1”均勻分佈的隨機樣本值。隨機樣本取值範圍是[0,1),不包括1
X = 2 * np.random.rand(100, 1)
# 構造線性方程,加入隨機抖動
# numpy.random.randn()是從標準正態分佈中返回一個或多個樣本值
# 1.當函式括號內沒有引數時,返回一個浮點數; # 2.當函式括號內有一個引數時,返回秩為1的陣列,不能表示向量和矩陣 # 3.當函式括號內有兩個及以上引數時,返回對應維度的陣列,能表示向量或矩陣。np.random.randn(行,列) # 4.np.random.standard_normal()函式與np.random.randn類似,但是輸入引數為元組(tuple) y = 3*X + 4 + np.random.randn(100, 1) plt.plot(X, y, 'b.') # b指定為藍色,.指定線條格式 plt.xlabel('X_1') plt.ylabel('
y') # 設定x軸為0-2,y軸為0-15 plt.axis([0, 2, 0, 15]) plt.show()

  執行顯示資料點如下所示:

  

1、線性迴歸方程實現