吴忠躺衫网络科技有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Python實現所有算法-基本牛頓法

云深之無跡 ? 來源:云深之無跡 ? 作者:云深之無跡 ? 2022-07-13 10:40 ? 次閱讀

Python實現所有算法-二分法

Python實現所有算法-力系統是否靜態平衡

Python實現所有算法-力系統是否靜態平衡(補篇)

Python實現所有算法-高斯消除法

Python實現所有算法-牛頓-拉夫遜(拉弗森)方法

Python實現所有算法-雅可比方法(Jacobian)

Python實現所有算法-矩陣的LU分解

Python實現所有算法-牛頓前向插值

兄弟們!今天的簡單,我直接給大家表演徒手求導。

求導是數學計算中的一個計算方法,它的定義就是,當自變量的增量趨于零時,因變量的增量與自變量的增量之商的極限。在一個函數存在導數時,稱這個函數可導或者可微分。可導的函數一定連續。不連續的函數一定不可導。

這個圖一定不可以錯過

eae964b6-01ed-11ed-ba43-dac502259ad0.png

基本的做法是這樣的

eb01c83a-01ed-11ed-ba43-dac502259ad0.png

對于一種數學的運算,我們總是給出滿足的規則

其實哇,這些東西我寫的沒有意義,在座的各位都學過高等數學,數學分析,而且高中還學了兩年。概念不是啥問題。

如果是為了科普,我推薦這本可愛的漫畫書(是數學書啦~)

ecdeec14-01ed-11ed-ba43-dac502259ad0.png

給大家看一個簡單的頁面,是不是很有趣

ed211b98-01ed-11ed-ba43-dac502259ad0.png

對一首歌的趨勢的曲線說明

書中的內容可能不深,但是這種寓教于樂的方式真的很好,至少這就是大眾接受的數學。

其次我推薦這本書,你有沒有想過微積分風風雨雨這么多年,誕生之初是什么樣的?

ede08186-01ed-11ed-ba43-dac502259ad0.png

本書給你答案

這本書我可太喜歡了,點到為止,是我對本書的評價,是一本真的可以一本書讀下去的數學書。

ee976220-01ed-11ed-ba43-dac502259ad0.png

隨便截圖一個,點明對我們的需求來說,這樣就足夠了

eed6048a-01ed-11ed-ba43-dac502259ad0.png

非常的簡潔,很OK

ef0c93a6-01ed-11ed-ba43-dac502259ad0.png

還有一套是托馬斯微積分,awesome的好書,1k5多的頁數,讓人直呼過癮

ef4fd940-01ed-11ed-ba43-dac502259ad0.png

另外張景中院士的直來直去微積分真的很有特色,本書的特點是不使用極限和無窮小的概念,直截了當的給出函數的基本概念。

efd299ca-01ed-11ed-ba43-dac502259ad0.png

這段話是對書的最好詮釋

f01596c6-01ed-11ed-ba43-dac502259ad0.png

真的這些書給人以舍不得讀下去的感覺,因為讀完就沒有了

f040c576-01ed-11ed-ba43-dac502259ad0.png

如果上面的你覺得太簡單了,微積分筆記這本書是對于數學分析方方面面的一個題集總結。

f06ab96c-01ed-11ed-ba43-dac502259ad0.png

有代表性的習題加上簡短的定理總結,不可多得好書

f0a9558c-01ed-11ed-ba43-dac502259ad0.png

因為Latex的排版,在美觀上面也是香的一比

f181207a-01ed-11ed-ba43-dac502259ad0.png

emmmm,如果你想在通俗和嚴謹之間得到一個平衡,我個人覺得經濟學的教材是很好的。

f20b1e38-01ed-11ed-ba43-dac502259ad0.png

最后讓我再推薦一下黃皮書,yyds!!!

f28536fa-01ed-11ed-ba43-dac502259ad0.png

同系列的還有這本,還有一本是線性代數就該這樣學

f323b672-01ed-11ed-ba43-dac502259ad0.png

在最后讓我隆重的安利一下,全美經典的教材,統計學原理講的真的是NO.1

f388dac0-01ed-11ed-ba43-dac502259ad0.png

內容豐富嗷

f40f954c-01ed-11ed-ba43-dac502259ad0.png

內容也很好,推薦一讀

按照我老師的說法,我的理論已經ok了,所以要拉我去做題,emmmm。

f475a044-01ed-11ed-ba43-dac502259ad0.png

這個我不用多說吧???

事實上,這次要講的確實是求導,但是比哪個東西高級。

在微積分中,牛頓法是一種迭代方法,用于求可微函數F的根,它是方程F ( x ) = 0的解。因此,牛頓法可以應用于二次可微函數f的導數f ‘以求導數的根(f ’( x ) = 0的解),也稱為f的臨界點 。 這些解可能是最小值、最大值或鞍點。這與優化有關,優化旨在找到函數f的(全局)最小值。

優化的核心問題是函數的最小化。讓我們首先考慮單變量函數的情況,即單個實變量的函數。

f49873e4-01ed-11ed-ba43-dac502259ad0.png

找最小

這是基本牛頓法:

f4cbb830-01ed-11ed-ba43-dac502259ad0.png

理論是這樣的

f509436c-01ed-11ed-ba43-dac502259ad0.png

這是最終的更新公式

接下來再細講,并不是所有的方程都有求根公式,或者求根公式很復雜,導致求解困難。利用牛頓法,可以迭代求解。

原理是利用泰勒公式,在x0處展開,且展開到一階,即f(x) = f(x0)+(x-x0)f‘(x0)

求解方程f(x)=0,即f(x0)+(x-x0)*f’(x0)=0,求解x = x1=x0-f(x0)/f‘(x0),因為這是利用泰勒公式的一階展開,f(x) = f(x0)+(x-x0)f’(x0)處并不是完全相等,而是近似相等,這里求得的x1并不能讓f(x)=0,只能說f(x1)的值比f(x0)更接近f(x)=0,于是乎,迭代求解的想法就很自然了,可以進而推出x(n+1)=x(n)-f(x(n))/f‘(x(n)),通過迭代,這個式子必然在f(x*)=0的時候收斂。整個過程如下圖:

f52873fe-01ed-11ed-ba43-dac502259ad0.png

這是求根

接下來是最優化,對一個目標函數f,求函數f的極大極小問題,可以轉化為求解函數f的導數f’=0的問題,這樣求可以把優化問題看成方程求解問題(f‘=0)。

剩下的問題就和第一部分提到的牛頓法求解很相似了。為了求解f’=0的根,把f(x)的泰勒展開,展開到2階形式:

f53f24c8-01ed-11ed-ba43-dac502259ad0.png

當且小三角無限趨于0 的時候

f5602d1c-01ed-11ed-ba43-dac502259ad0.png

這個成立

f5796020-01ed-11ed-ba43-dac502259ad0.png

我們的最終迭代公式就出來了

f5939256-01ed-11ed-ba43-dac502259ad0.png

值得更新公式

牛頓法用于函數最優化求解”中對函數二階泰勒公式展開求最優值的方法稱為:Newton法,

牛頓法用于方程求解”中對函數一階泰勒展開求零點的方法稱為:Guass-Newton(高斯牛頓)法。

這次得比較難。。。就提前寫好求導:

f5b28620-01ed-11ed-ba43-dac502259ad0.png

這個公式就是上面的更新公式

f5f26eac-01ed-11ed-ba43-dac502259ad0.png

我們提前把函數和求導的函數寫好

f61a3bbc-01ed-11ed-ba43-dac502259ad0.png

原文標題:Python實現所有算法-牛頓優化法

文章出處:【微信公眾號:云深之無跡】歡迎添加關注!文章轉載請注明出處。

審核編輯:彭靜
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 函數
    +關注

    關注

    3

    文章

    4346

    瀏覽量

    62971
  • 牛頓
    +關注

    關注

    0

    文章

    6

    瀏覽量

    6357
  • python
    +關注

    關注

    56

    文章

    4807

    瀏覽量

    85037

原文標題:Python實現所有算法-牛頓優化法

文章出處:【微信號:TT1827652464,微信公眾號:云深之無跡】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    使用Python實現xgboost教程

    使用Python實現XGBoost模型通常涉及以下幾個步驟:數據準備、模型訓練、模型評估和模型預測。以下是一個詳細的教程,指導你如何在Python中使用XGBoost。 1. 安裝XGBoost
    的頭像 發表于 01-19 11:21 ?399次閱讀

    一個月速成python+OpenCV圖像處理

    適用于哪些場景,然后通過Python編寫代碼來實現這些算法,并應用于實際項目中,實現圖像的檢測、識別、分類、定位、測量等目標。本文將介紹一個高效學習
    的頭像 發表于 11-29 18:27 ?197次閱讀
    一個月速成<b class='flag-5'>python</b>+OpenCV圖像處理

    三種常見平方根算法的電路設計及Verilog實現與仿真

    、圖形顯示等領域具有重要的地位,所以如何在硬件上實現該運算可以提高計算單元的性能,加快計算速度。 本文實現算法包括二分迭代牛頓迭代
    的頭像 發表于 11-26 10:12 ?651次閱讀
    三種常見平方根<b class='flag-5'>算法</b>的電路設計及Verilog<b class='flag-5'>實現</b>與仿真

    【「從算法到電路—數字芯片算法的電路實現」閱讀體驗】+內容簡介

    內容簡介這是一本深入解讀基礎算法及其電路設計,以打通算法研發到數字IC設計的實現屏障,以及指導芯片設計工程師從底層掌握復雜電路設計與優化方法為目標的專業技術書。任何芯片(如WiFi芯片、5G芯片
    發表于 11-21 17:14

    【「從算法到電路—數字芯片算法的電路實現」閱讀體驗】+一本介紹基礎硬件算法模塊實現的好書

    作為嵌入式開發者往往比較關注硬件和軟件的協調。本書介紹了除法器,信號發生器,濾波器,分頻器等基本算法的電路實現,雖然都是基礎內容,但是也是最常用到的基本模塊,本書的內容比較對本人胃口。 我們先來
    發表于 11-20 13:42

    如何使用Python實現PID控制

    PID控制(比例-積分-微分控制)是一種常見的反饋控制算法,廣泛應用于工業控制系統中。在Python實現PID控制,我們可以遵循以下步驟: 1. 理解PID控制原理 PID控制器有三個主要參數
    的頭像 發表于 11-14 09:09 ?685次閱讀

    C加密算法實現

    電子發燒友網站提供《C加密算法實現.pdf》資料免費下載
    發表于 09-20 11:10 ?1次下載
    C加密<b class='flag-5'>算法</b>的<b class='flag-5'>實現</b>

    Python建模算法與應用

    上成為理想的腳本語言,特別適用于快速的應用程序開發。本文將詳細介紹Python在建模算法中的應用,包括常見的建模算法Python在建模中的優勢、常用庫以及實際案例。
    的頭像 發表于 07-24 10:41 ?659次閱讀

    如何實現Python復制文件操作

    Python 中有許多“開蓋即食”的模塊(比如 os,subprocess 和 shutil)以支持文件 I/O 操作。在這篇文章中,你將會看到一些用 Python 實現文件復制的特殊方法。下面我們開始學習這九種不同的方法來
    的頭像 發表于 07-18 14:53 ?477次閱讀

    神經網絡的基本原理及Python編程實現

    神經網絡作為深度學習算法的基本構建模塊,模擬了人腦的行為,通過互相連接的節點(也稱為“神經元”)實現對輸入數據的處理、模式識別和結果預測等功能。本文將深入探討神經網絡的基本原理,并結合Python編程
    的頭像 發表于 07-03 16:11 ?805次閱讀

    如何用C語言實現高效查找(二分

    今天給分享一下使用C語言實現二分算法,主要包含以下幾部分內容:二分查找算法介紹二分查找算法使用場景二分查找算法代碼
    的頭像 發表于 06-04 08:04 ?1260次閱讀
    如何用C語言<b class='flag-5'>實現</b>高效查找(二分<b class='flag-5'>法</b>)

    FPGA能實現什么樣的算法

    FPGA功能如此強大,請問用FPGA能實現或者比較適合實現什么樣的算法
    發表于 05-26 20:18

    如何使用Python生成四位隨機數字

    為了實現這些目標,Python 為我們提供了random() 模塊。random() 是一個內置的 Python 模塊,用于生成隨機數。
    的頭像 發表于 04-15 12:47 ?773次閱讀

    網孔電流和回路電流怎么選擇比較好

    是基于基爾霍夫電流定律的一種分析電路的方法。基爾霍夫電流定律指出,電流在電路中的分配滿足代數和為零的原則,即所有進入某一電路節點的電流之和等于所有離開該節點的電流之和。網孔電流通過
    的頭像 發表于 03-01 11:02 ?1968次閱讀

    同步置數和異步清零的優缺點 異步計數器的級聯方法總結

    。其中,同步置數是最常見的實現方法之一。該方法的特點如下: 優點: 簡單直觀:同步置數的設計相對簡單,容易理解和實現。 穩定可靠:由于所有
    的頭像 發表于 02-22 14:20 ?9784次閱讀
    百家乐官网娱乐城返水| 大发888下载新澳博| 百家乐六亿财富| 百家乐智能投注系统| 太阳城百家乐赌博害人| 新澳门百家乐官网的玩法技巧和规则 | 百家乐榄梯打法| 百家乐太阳城球讯网| 广州百家乐筹码| 路单百家乐的玩法技巧和规则 | 百家乐长龙怎么预判| 百家乐网站是多少| 米其林百家乐的玩法技巧和规则| 怎样玩百家乐的玩法技巧和规则| 威尼斯人娱乐平台赌| bet365投注体育比赛合法吗| 尼玛县| 网络百家乐官网| 百家乐官网空调维修| 百家乐技巧论坛| 百家乐怎么完才能嬴| 大发888送58| 西平县| 蓝盾百家乐官网具体玩法技巧| 百家乐官网园好又多| 百家乐赌场技巧论坛| 二八杠生死门口诀| 足球投注网址| 网上百家乐官网庄家有赌场优势吗| 潘多拉百家乐官网的玩法技巧和规则 | 哈尔滨百家乐赌场| 如何看百家乐的路纸| 安卓水果机游戏下载| 郁南县| 下载百家乐官网的玩法技巧和规则| 百家乐概率统计| 大发888游戏安装失败| 百家乐官网辅助工具| 百家乐官网无损打法| 网络百家乐金海岸| 钱柜娱乐城现金网|