<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          深度學習中的數(shù)學(一)——高等數(shù)學

          共 4787字,需瀏覽 10分鐘

           ·

          2021-12-15 19:11

          一、初等函數(shù)與基本初等函數(shù)

          1.1 基本初等函數(shù)

          關鍵詞:值域、定義域、單調性、對稱性、飽和性、周期性、奇偶性、連續(xù)性、變化趨勢(從圖像上來看)

          1.1.1 常函數(shù)

          y=c

          1.1.2 冪函數(shù)

          y=x^α(α為有理數(shù)) Nump與Pytorch的轉換

          import?numpy?as?np
          import?torch

          a?=?torch.tensor(1)
          b?=?np.array(1)
          print(type(a))#?<class?'torch.Tensor'>
          print(type(b))#?<class?'numpy.ndarray'>
          c?=?a.numpy()
          d?=?torch.from_numpy(b)
          print(type(c))#?<class?'numpy.ndarray'>
          print(type(d))#?<class?'torch.Tensor'>

          1.1.3 指數(shù)函數(shù)

          兩個函數(shù)可以組合,組成類似二次函數(shù)的圖像

          1.1.4 對數(shù)函數(shù)

          對數(shù)函數(shù)與指數(shù)函數(shù)關于y=x對稱。ping值可以測試網(wǎng)絡 作用:(1)簡化計算(連乘變連加;指數(shù)變乘法) (2)壓縮空間 (3)魯棒性(可以借助分類圖像理解)

          1.1.5 三角函數(shù)與反三角函數(shù)

          余弦函數(shù) cos x, 反余弦函數(shù) arccos x 余弦函數(shù) cos x, 反余弦函數(shù) arccos x 正切函數(shù) tan x, 余切函數(shù) cot x 正切函數(shù) tan x, 余切函數(shù) cot x 反正切函數(shù) arctan x, 反余切函數(shù) arccot x 余割函數(shù)csc x 正割函數(shù) sec x matplotlib畫對數(shù)函數(shù)的圖像

          import?numpy?as?np
          import?matplotlib.pyplot?as?plt

          x?=?np.arange(0.1,10,0.1)
          y?=?np.log(x)
          y2?=?np.zeros_like(x)

          plt.plot(x,y,x,y2)
          plt.show()


          2.由基本初等函數(shù)構成的復合函數(shù)被稱為初等函數(shù)

          2.1 Sigmoid與tanh

          2.2 重要的特殊的函數(shù)

          三、反函數(shù)

          最具有代表性的反函數(shù)就是對數(shù)函數(shù)與指數(shù)函數(shù)。反函數(shù)的定義域、值域分別是函數(shù)y=f(x)的值域、定義域。

          四、凸函數(shù)與凸集(凸優(yōu)化問題)

          凸函數(shù)就是一個定義在某個向量空間的凸子集C(區(qū)間)上的實值函數(shù)。(隨意取兩點,值都在函數(shù)上方 凸集:在歐氏空間中,凸集是對于集合內的每一對點,連接該對點的直線段上的每個點也在該集合內。 包絡函數(shù):隨意一個函數(shù)圖像,將其包起來,就是一個凸函數(shù)。

          五、對偶函數(shù)

          找到所求函數(shù)的對偶函數(shù),此函數(shù)的最高點就是接近所求函數(shù)的最低點。對偶函數(shù)一定是凹函數(shù)呢。

          六、優(yōu)化問題

          拉格朗日乘子法 優(yōu)化兩個方面:損失與正則項

          七、極限

          7.1 極限定義

          7.2 重要極限(金融的復利問題)

          八、導數(shù)與梯度

          導數(shù) = -梯度

          8.1 導數(shù)

          8.1 定義

          8.2 導數(shù)的幾何意義

          8.3 基本導數(shù)公式

          8.4 偏導與全導

          全導:偏導求和。

          8.5 二階導數(shù)

          拓展:黑塞矩陣:利用黑塞矩陣判定多元函數(shù)的極值 黑塞矩陣(Hessian Matrix),又譯作海森矩陣、海瑟矩陣、海塞矩陣等,是一個多元函數(shù)的二階偏導數(shù)構成的方陣,描述了函數(shù)的局部曲率。黑塞矩陣最早于19世紀由德國數(shù)學家Ludwig Otto Hesse提出,并以其名字命名。黑塞矩陣常用于牛頓法解決優(yōu)化問題,利用黑塞矩陣可判定多元函數(shù)的極值問題。在工程實際問題的優(yōu)化設計中,所列的目標函數(shù)往往很復雜,為了使問題簡化,常常將目標函數(shù)在某點鄰域展開成泰勒多項式來逼近原函數(shù),此時函數(shù)在某點泰勒展開式的矩陣形式中會涉及到黑塞矩陣。

          8.6 復合函數(shù)的導數(shù)

          復合函數(shù)對自變量的導數(shù),等于已知函數(shù)對中間變量的導數(shù),乘以中間變量對自變量的導數(shù)(鏈式法則)。

          8.7 高階導數(shù)意義

          一階導決定增減 二階導決定凹凸 三階導決定偏度(以y=x^3為例理解:凸的快慢)

          8.8 泰勒級數(shù)

          泰勒級數(shù)用無限項連加式——級數(shù)來表示一個函數(shù),這些相加的項由函數(shù)在某一點的導數(shù)求得。 稱為f(x)在點x0處的泰勒級數(shù)。

          九、梯度下降法(Gradient Descent,GD)

          關于梯度下降,這篇文章很有深度:

          9.1 理解梯度下降法

          首先,梯度下降法是一種常用的求解無約束最優(yōu)化問題的方法。

          前提:我們所要優(yōu)化的函數(shù)必須是一個連續(xù)可微的函數(shù),可微,既可微分,意思是在函數(shù)的任意定義域上導數(shù)存在。

          一個例子理解梯度下降法

          假設這樣一個場景:一個人需要從山的某處開始下山,盡快到達山底。在下山之前他需要確認三件事:出發(fā)點、下山的方向、下山的距離。山代表了需要優(yōu)化的函數(shù)表達式;山的最低點就是該函數(shù)的最優(yōu)值,也就是我們的目標;每次下山的距離代表后面要解釋的學習率;尋找方向利用的信息即為樣本數(shù)據(jù);最陡峭的下山方向則與函數(shù)表達式梯度的方向有關,之所以要尋找最陡峭的方向,是為了滿足最快到達山底的限制條件。

          9.2 梯度下降法的基本方法

          批量梯度下降法(Batch Gradient Descent, BGD)

          批量梯度下降法每次學習都使用整個訓練集,因此每次更新都會朝著正確的方向進行,最后能夠保證收斂于極值點,凸函數(shù)收斂于全局極值點,非凸函數(shù)可能會收斂于局部極值點,缺陷就是學習時間太長,消耗大量內存。

          小批量梯度下降法(Mini-batch Gradient Descent, MBGD)

          如果Batch Size選擇合理,不僅收斂速度比SGD更快、更穩(wěn)定,而且在最優(yōu)解附近的跳動也不會很大,甚至得到比Batch Gradient Descent 更好的解。

          隨機梯度下降法(Stochastic Gradient Descent, SGD)

          SGD一輪迭代只用一條隨機選取的數(shù)據(jù),盡管SGD的迭代次數(shù)比BGD大很多,但一次學習時間非??臁GD的缺點在于每次更新可能并不會按照正確的方向進行,參數(shù)更新具有高方差,從而導致?lián)p失函數(shù)劇烈波動。收斂時浮動,不穩(wěn)定,在最優(yōu)解附近波動,難以判斷是否已經收斂。

          Momentum梯度下降法(帶動量的梯度下降法)

          SGD、BSGD兩種改進方法都存在不同程度的震蕩;從可視圖表現(xiàn)來看,就是頻繁更改方向,所以,如果能夠把之前下降的方向考量進來,那么將會減少振蕩。

          NAG梯度下降法(Nesterov Accelerated Gradient)

          不僅僅把SGD梯度下降以前的方向考慮,還將Momentum梯度變化的幅度也考慮了進來。

          9.3 局部最優(yōu)解

          鞍點

          9.4 BP算法性能優(yōu)化

          批量 學習率 動量 Adam優(yōu)化器

          9.5 微分積分幾何意義

          十、代碼

          10.1 計算梯度

          import?torch

          x?=?torch.tensor([3.0],requires_grad=True)
          y?=?x**3
          y.backward(retain_graph=True)
          print(x.grad)#?tensor([27.])
          #?print(torch.autograd.grad(y,x))#?#?(tensor([27.]),)

          10.2 梯度下降法擬合一條直線

          import?random
          import?numpy?as?np
          def?sigmoid(x):
          ????return?1?/?(1?+?np.exp(-x))

          _x?=?[i/100?for?i?in?range(100)]
          _y?=?[sigmoid(5*i?+?3)?for?i?in?_x]
          #?print(_x)
          #?print(_y)
          #?y?=?w?*?x?+?b
          #?回歸的問題

          w?=?random.random()
          b?=?random.random()

          for?i?in?range(100000):
          ????for?x,y?in?zip(_x,_y):
          ????????z?=?w?*?x?+?b
          ????????a?=?sigmoid(z)
          ????????loss?=?(a?-?y)?**?2
          ????????#?求導
          ????????dw?=?2*(a-y)?*?(a*(1-a))?*?x
          ????????db?=?2*(a-y)?*?(a*(1-a))

          ????????#?更新參數(shù)
          ????????w?=?w?-?0.4*dw
          ????????b?=?b?-?0.4*db
          ????????print(w,b,loss)

          10.3 BP算法的簡單實現(xiàn)

          import?torch
          import?torch.nn?as?nn

          xs?=?torch.arange(0.01,1,0.01)
          ys?=?3*xs+4+torch.randn(99)/100
          class?Line(nn.Module):
          ????def?__init__(self):
          ????????super().__init__()
          ????????self.w?=?nn.Parameter(torch.randn(1))
          ????????self.b?=?nn.Parameter(torch.randn(1))

          ????def?forward(self,x):
          ????????return?self.w*x+self.b

          if?__name__?==?'__main__':
          ????line?=?Line()
          ????opt?=?torch.optim.SGD(line.parameters(),lr=0.01)
          ????for?epochs?in?range(50):
          ????????for?x,y?in?zip(xs,ys):
          ????????????z?=?line(x)
          ????????????loss?=?(z-y)**2
          ????????????opt.zero_grad()
          ????????????loss.backward()
          ????????????opt.step()
          ????????????print(loss)

          ????print(line.w)
          ????print(line.b)


          import?torch

          w?=?torch.tensor([9.],?requires_grad=True)
          print(w.dtype)
          #?BP?優(yōu)化器?更新參數(shù)?w?0.01
          optimer?=?torch.optim.SGD([w],?lr=0.075)

          for?i?in?range(100):
          ????loss?=?(w?-?2.3)?**?2??#?36?->?0
          ????optimer.zero_grad()?#?清空梯度(梯度會累加,所以必須要清空)
          ????loss.backward()
          ????optimer.step()?#?更新參數(shù)
          ????print(w,?loss)




          Python“寶藏級”公眾號【Python之王】專注于Python領域,會爬蟲,數(shù)分,C++,tensorflow和Pytorch等等。

          近 2年共原創(chuàng) 100+ 篇技術文章。創(chuàng)作的精品文章系列有:

          日常收集整理了一批不錯的?Python?學習資料,有需要的小伙可以自行免費領取。

          獲取方式如下:公眾號回復資料領取Python等系列筆記,項目,書籍,直接套上模板就可以用了。資料包含算法、python、算法小抄、力扣刷題手冊和 C++ 等學習資料!


          瀏覽 209
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  亚洲天堂网址 | 国产黄片日逼视频 | 操B在线观看视频 | 日本高潮视频 | 日韩区一中文字幕a∨ |