欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

淺談matplotlib 繪制梯度下降求解過程

 更新時間:2020年07月12日 11:06:46   作者:Michael阿明  
這篇文章主要介紹了淺談matplotlib 繪制梯度下降求解過程,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

機器學習過程中經(jīng)常需要可視化,有助于加強對模型和參數(shù)的理解。

下面對梯度下降過程進行動圖演示,可以修改不同的學習率,觀看效果。

import numpy as np
import matplotlib.pyplot as plt
from IPython import display

X = 2*np.random.rand(100,1)
y = 4+3*X+np.random.randn(100,1) # randn正態(tài)分布
X_b = np.c_[np.ones((100,1)),X] # c_行數(shù)相等,左右拼接

eta = 0.1 # 學習率
n_iter = 1000 # 迭代次數(shù)
m = 100 # 樣本點個數(shù)
theta = np.random.randn(2,1) # 參數(shù)初始值

plt.figure(figsize=(8,6))
mngr = plt.get_current_fig_manager() # 獲取當前figure manager
mngr.window.wm_geometry("+520+520") # 調整窗口在屏幕上彈出的位置,注意寫在打開交互模式之前
# 上面固定窗口,方便screentogif定位錄制,只會這種弱弱的方法
plt.ion()# 打開交互模式
plt.rcParams["font.sans-serif"] = "SimHei"# 消除中文亂碼

for iter in range(n_iter):
  plt.cla() # 清除原圖像

  gradients = 2/m*X_b.T.dot(X_b.dot(theta)-y)
  theta = theta - eta*gradients
  X_new = np.array([[0],[2]])
  X_new_b = np.c_[np.ones((2,1)),X_new]
  y_pred = X_new_b.dot(theta)

  plt.axis([0,2,0,15])
  plt.plot(X,y,"b.")
  plt.plot(X_new,y_pred,"r-")
  plt.title("學習率:{:.2f}".format(eta))
  plt.pause(0.3) # 暫停一會
  display.clear_output(wait=True)# 刷新圖像


plt.ioff()# 關閉交互模式  
plt.show()


學習率:0.1,較合適


學習率:0.02,收斂變慢了


學習率:0.45,在最佳參數(shù)附近震蕩


學習率:0.5,不收斂

到此這篇關于淺談matplotlib 繪制梯度下降求解過程的文章就介紹到這了,更多相關matplotlib 梯度下降內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 用python的seaborn畫數(shù)值箱型圖

    用python的seaborn畫數(shù)值箱型圖

    大家好,本篇文章主要講的是用python的seaborn畫數(shù)值箱型圖,感興趣的同學趕快來看一看吧,對你有幫助的話記得收藏一下
    2022-01-01
  • python tkinter實現(xiàn)簡單計算器功能

    python tkinter實現(xiàn)簡單計算器功能

    這篇文章主要為大家詳細介紹了python tkinter實現(xiàn)簡單計算器功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • PaddleOCR 識別表情包文字示例詳解

    PaddleOCR 識別表情包文字示例詳解

    這篇文章主要為大家介紹了PaddleOCR 識別表情包文字示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-08-08
  • keras slice layer 層實現(xiàn)方式

    keras slice layer 層實現(xiàn)方式

    這篇文章主要介紹了keras slice layer 層實現(xiàn)方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-06-06
  • Flask-WTF表單的使用方法

    Flask-WTF表單的使用方法

    這篇文章主要介紹了Flask-WTF表單的使用方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-07-07
  • Python讀寫二進制文件的實現(xiàn)

    Python讀寫二進制文件的實現(xiàn)

    本文主要介紹了Python讀寫二進制文件的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-04-04
  • python中的變量與內(nèi)存用法

    python中的變量與內(nèi)存用法

    這篇文章主要介紹了python變量與內(nèi)存用法,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-06-06
  • 多個版本的python共存時使用pip的正確做法

    多個版本的python共存時使用pip的正確做法

    這篇文章主要介紹了多版本python共存時使用pip的正確做法,幫助有多個python版本需求的人可以正確的導包,感興趣的朋友可以了解下
    2020-10-10
  • python機器學習實現(xiàn)決策樹

    python機器學習實現(xiàn)決策樹

    這篇文章主要為大家詳細介紹了python機器學習實現(xiàn)決策樹,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-11-11
  • Python有序容器的 sort 方法詳解

    Python有序容器的 sort 方法詳解

    這篇文章主要介紹了Python有序容器的 sort 方法,容器.sort(key=選擇排序依據(jù)的函數(shù), reverse=True|False) 可以將有序容器進行排序,本文通過實例代碼給大家介紹的非常詳細,需要的朋友可以參考下
    2022-09-09

最新評論