【機器學習筆記02】最小二乘法(多元線性迴歸模型)
數學基礎
1.轉置矩陣
定義: 將矩陣A同序數的行換成列成為轉置矩陣AT,舉例: A=(132−101) 其轉置矩陣為AT=⎝⎛1203−11⎠⎞
轉置矩陣具有如下性質: (1)(AT)T=A (2)(A+B)T=AT+BT (3)(λA)T=λAT (4)(AB)T=BTAT
2.矩陣的導數
基本定義: 如果矩陣A(t)=(aij(t))m×n 每一個元素分量aij(t)是t的可微函式,則矩陣A的導數為: A′(t)=dtdA(t)=(dtdaij(t))m×n,也就是每個元素單獨求導數。
當存在A、B兩個可導矩陣,存在如下一些定理:
(1)dtd(A(T)+B(T))=dtdA(T)+dtdB(T) (2)dtd(A(T)B(T))=dtdA(T)⋅B(T)+A(T)⋅dtdB(T)
需要注意的是在本例中,求導屬於矩陣對向量的求導(重要),定義如下:
令A=⎣⎢⎢⎡a11a21...am1a12a22...am2⋯⋯...⋯a1na2n...amn⎦⎥⎥⎤ 與x=[x1,x2,...xn]T
我們有A.x=⎣⎢⎢⎡a11x1a21x1...am1x1a12x2a22x2...am2x2⋯⋯...⋯a1nxna2nxn...amnxn⎦⎥⎥⎤
此時Ax對向量x,相當於每一行的第i列分別對xi求導,因此:
∂x∂Ax=⎣⎢⎢⎡a11a12...a1na21a22...a2n⋯⋯...⋯
數學基礎
1.轉置矩陣
定義: 將矩陣A同序數的行換成列成為轉置矩陣ATA^TAT,舉例:
A=(1203−11)A=\begin{pmatrix}
1 & 2 & 0 \\
3 & -1 &
【參考資料】
【1】《概率論與數理統計》
【2】 http://scikit-learn.org /stable/auto_examples/ linear_model/ plot_ols.html # sphx-glr-auto-examples-
方法介紹
具體問題程式碼實現
資料
程式碼
本文使用scipy的leastsq函式實現,程式碼如下。
from scipy.optimize import leastsq
import numpy as np
def main():
"""
1. Series 是Pandas兩種基本資料結構之一,表徵一維資料
"""
so = pd.Series(range(0, 10))
print(so[0:2])
print(so.head(2))
print(so.tail(2))
print(s
本文是對由Stanford大學Andrew Ng講授的機器學習課程進行個人心得總結。
在上一篇文章裡我們討論了關於線性迴歸和梯度下降的相關知識,本文主要是接著該篇文章的內容繼續深入的討論線性迴歸中存在的兩個優化點,最小二乘法和加權線性迴歸。
最小二乘
最近一直在看機器學習的東西,看了好些論文,但奈何基礎實在太差,有很多東西都不懂。所以就看各種演算法。雖然當然看完覺得理解了,但一段時間過去又忘的差不多,無奈之舉,希望通過部落格來加深自己對基礎知識的理解和掌握。這次總結也是通過各種部落格和材料收集得到的,所以只能說是
回顧
迴歸分析之線性迴歸 中我們得到了線性迴歸的損失函式為:
J
(
θ
【機器學習】最小二乘法支援向量機LSSVM的數學原理與Python實現
一、LSSVM數學原理
1. 感知機
2. SVM
3. LSSVM
4. LSSVM與SVM的區別
二、LSSVM的py
版權宣告:本文為博主原創文章,未經博主允許不得轉載。 https://blog.csdn.net/wx1528159409
最近學習MySQL的高階應用Explain,寫一篇學習心得與總結,目錄腦圖如下:
一、Explain基本概念
1. Explain定義
· 我們知道M
1. 安裝Python的Django,貌似是Django命令環境,並不是是專案。(使用--user是因為python安裝到了win的個人使用者下)
pip install --user Django==2.1.3
如果本教程時間久遠,你可以用命令pip install --user Dj
【參考資料】 【1】《蟻群演算法原理及其應用》 【2】測試資料: https://comopt.ifi.uni-heidelberg.de/software/TSPLIB95/tsp/att48.tsp.gz
演算法原理(以TSP問題為例)
(1)引數初始化。令時間t=0和迴圈次數
梯度下降
梯度下降是一個尋找函式機值的方式,屬於最優化裡的基礎演算法,在低維度的情況下非常容易理解。
例如存在函式y=x2y=x^2y=x2存在導數dy=2x,若當前點在x=1點,設dx的步長為0.1。此時我們通過負梯度計算下一個x點xt+1=xt−2∗0.
Jacobian矩陣
Jacobian矩陣是函式對向量求導,其結果是一階偏導陣列成的矩陣。假設:F:Rn→RmF:R_n \to R_mF:Rn→Rm也就是一個n維歐式空間向m維歐式空間的一個對映。
舉例:
由球座標系轉換到直角座標系,存在對映形式化表
基本定義
首先給出softmax的數學定義,如下:
hθ(x(i))=[p(y(i)=1∣x(i);θ)p(y(i)=2∣x(i);θ)⋮p(y(i)=k∣x(i);θ)]=1∑j=1keθjTx(i)[eθ1Tx(i)eθ2Tx(i)⋮eθkTx(i)]
【參考資料】
【1】《統計學習方法》
隱馬爾可夫模型(HMM)定義
隱馬爾可夫模型: 隱馬爾可夫模型是關於時序的模型,描述一個由隱藏的馬爾可夫鏈生成的不可觀測的狀態序列,再由各個狀態生成的觀測值所構成的一個觀測序列。
形式化定義HMM為λ=(A,B,π)\la
奇異值分解
定義: 假設A是一個m×nm \times nm×n的矩陣,則存在如下一種分解:
Am×n=Um×m∑m×nVn×nTA_{m \times n}=U_{m \times m} \sum_{m \times n} V_{n \times n}^T
【參考資料】
【1】《統計學習方法》
基本概念
當訓練資料線性可分時,通過硬間隔最大化,學習一個線性的分類器,即線性可分支援向量機,又稱硬間隔支援向量機;
當訓練資料近似線性可分時,通過軟間隔(增加一個鬆弛因子)後學習一個線性的分類器,即軟間隔支援向量機;
【參考文獻】
【1】《面向機器智慧的TensorFlow實踐》4.7
假設存在網路結果如下
各個層輸出定義
L1=sigmoid(w1⋅x)L_1 = sigmoid(w_1 \cdot x)L1=sigmoid(w1⋅x)
L2=sigmoid(w2⋅L
K-means 演算法
演算法流程如下:
(1)在樣本中選擇兩個點(也可以是若干個)作為種子點;
(2)計算其餘各個樣本離該種子點的距離,並將其分為兩類;
(3)將種子點移到(2)所分為的兩類的中間;
(4)重複(2)(3)直到種子不再移動;
K-means
PCA演算法
去平均值,即每一位特徵減去各自的平均值
計算新矩陣的協方差矩陣
設$X=(X_1, X_2…X_N)^T $,在鳶尾花例子裡N=4,會生成一個4*4的協方差矩陣
稱矩陣
C=(cij)n×n=(c11c12⋯c1nc21c22⋯c2n⋯⋯⋯⋯ 相關推薦
【機器學習筆記02】最小二乘法(多元線性迴歸模型)
【機器學習筆記01】最小二乘法(一元線性迴歸模型)
最小二乘法的多元線性迴歸
【機器學習筆記29】Pandas常用方法備註(補充)
機器學習--最小二乘法和加權線性迴歸
最小二乘法(自我理解+自我熟悉)(1)
【機器學習】最小二乘法求解線性迴歸引數
【機器學習】最小二乘法支援向量機LSSVM的數學原理與Python實現
【MYSQL學習筆記02】MySQL的高階應用之Explain(完美詳細版,看這一篇就夠了)
【Django2+ 學習筆記 02】win10下Django及新專案部署
【機器學習筆記35】蟻群演算法
【機器學習筆記04】隨機梯度下降
【機器學習筆記05】Jacobian矩陣&Hessian矩陣
【機器學習筆記08】分類器(softmax迴歸)
【機器學習筆記18】隱馬爾可夫模型
【機器學習筆記14】奇異值分解(SVD)
【機器學習筆記17】支援向量機
【機器學習筆記20】神經網路(鏈式求導和反向傳播)
【機器學習筆記12】聚類(k-means)
【機器學習筆記15】主成分分析(PCA)