Uda學(xué)城-機(jī)器學(xué)習(xí)入門P3之感悟

開課以來沫浆,已經(jīng)僥幸過了三關(guān)。

線性代數(shù)這關(guān)最難過滚秩,足用了4個(gè)星期专执,7次審閱,值得寫篇文來復(fù)盤一下:

難度:

1.線性代數(shù)本身的難度郁油。大學(xué)時(shí)候沒有學(xué)過線性代數(shù)本股,半途撿起,難度可想而知桐腌。

  1. 用python進(jìn)行線性代數(shù)的運(yùn)算拄显,而且不能用numpy和pandas等數(shù)據(jù)包。所以必須在矩陣中進(jìn)行循環(huán):行是一個(gè)循環(huán)案站,列是另一個(gè)循環(huán)躬审,大循環(huán)套小循環(huán)來獲取每一個(gè)元素。

課堂視頻講的挺好蟆盐,可能是進(jìn)度比較慢的緣故承边,我覺得比可汗學(xué)院的更清楚一點(diǎn),理解的更透徹石挂。但所有的練習(xí)感覺都挺難的博助,我自己覺得示例代碼寫得有點(diǎn)繞。沒在這上面深究痹愚,照著視頻寫了一遍就算了富岳。

項(xiàng)目回顧:

生成單位矩陣罗心,
這里拋棄了np.array和pd.Series,就用樸素的列表轉(zhuǎn)矩陣城瞎。


矩陣的轉(zhuǎn)置渤闷,
原來我的做法是直接寫成:zip(*M): 但最終的數(shù)據(jù)結(jié)構(gòu)會(huì)是元組列表tuple list。而元組元素是不可修改的脖镀。所以需要改動(dòng)一下飒箭。


矩陣的乘法,
重點(diǎn)是相乘的條件:A的列數(shù)要等于B的行數(shù)蜒灰。
判斷后做三個(gè)循環(huán)弦蹂,A的行數(shù),A的列數(shù)强窖,B的列數(shù)凸椿。


然后就是一塊大項(xiàng):

高斯消元法

構(gòu)造增廣矩陣,
還是zip函數(shù)的應(yīng)用:

初等行變換

交換兩行
把某行乘以一個(gè)非零常數(shù)
把某行加上另一行的若干倍
這三個(gè)不算很難翅溺,定位好了M[i][j]直接寫公式就行了脑漫。

Gaussian Jordan 消元法求解 Ax = b

算法如下:

步驟1 檢查A,b是否行數(shù)相同
步驟2 構(gòu)造增廣矩陣Ab
步驟3 逐列轉(zhuǎn)換Ab為化簡(jiǎn)行階梯形矩陣
對(duì)于Ab的每一列(最后一列除外) 當(dāng)前列為列c 尋找列c中 對(duì)角線以及對(duì)角線以下所有元素(行 c~N)的絕對(duì)值的最大值 
如果絕對(duì)值最大值為0 
    那么A為奇異矩陣咙崎,返回None (你可以在選做問題2.4中證明為什么這里A一定是奇異矩陣) 
否則 
    使用第一個(gè)行變換优幸,將絕對(duì)值最大值所在行交換到對(duì)角線元素所在行(行c) 
    使用第二個(gè)行變換,將列c的對(duì)角線元素縮放為1 
    多次使用第三個(gè)行變換褪猛,將列c的其他元素消為0
步驟4 返回Ab的最后一列

先做手算消元网杆,對(duì)于手殘星人,這個(gè)也過了兩個(gè)審閱期伊滋。期間居心不良碳却,試圖找在線計(jì)算器不果......
然后,就是痛苦漫長(zhǎng)的高斯消元法的函數(shù)笑旺。

其實(shí)本身難度并不高昼浦,高斯消元法,在網(wǎng)易-可汗學(xué)院課上燥撞,大概第6個(gè)視頻就講到了座柱。但是明白原理是一回事迷帜,用代碼編寫又是另一回事物舒。
大概世界上并不多有人不用包,而用樸素的Python代碼寫這種函數(shù)戏锹,所以沒有百度到答案冠胯。

這個(gè)函數(shù)比較長(zhǎng),bug也特別多锦针,一開始沒想到正確方法荠察,單是第一步置蜀,求每列最大值就想了半天。因?yàn)椴荒苡胣umpy, pandas這些包悉盆,所以要用大循環(huán)套小循環(huán)盯荤。python基礎(chǔ)還是不牢的人,就經(jīng)常被繞進(jìn)去焕盟,做的很痛苦秋秤。

線性回歸

隨機(jī)生成樣本點(diǎn),猜測(cè)一條直線脚翘,然后計(jì)算平均平方誤差灼卢。

def calculateMSE(X,Y,m,b):
    ......
    return MSE

print(calculateMSE(X,Y,m,b))

找到最優(yōu)參數(shù) m,b 使得平方平均誤差最小。

'''
參數(shù):X, Y
返回:m来农,b
'''
X,Y = generatePoints(seed,num=100)

def linearRegression(X,Y):
     ......
    return m,b
m,b = linearRegression(X,Y)                  
print(m,b)

這里開始搞不明白的是X鞋真,Y是100個(gè)點(diǎn)的矩陣,如何推出h=[m,b]的矩陣沃于,但打印出來發(fā)現(xiàn)XT*X的形狀涩咖,居然就是神奇的1x2矩陣。原理不是很明白繁莹,但這樣解出m,b就不困難了抠藕。
記得求出的是矩陣?yán)锴短琢斜恚斜碇性偾衅攀菙?shù)值蒋困。
最后得圖形如下:

經(jīng)過漫長(zhǎng)的分析盾似,總算對(duì)對(duì)于線性代數(shù),多維空間和方程計(jì)算有了基本的了解雪标。在機(jī)器學(xué)習(xí)入門告一階段后零院,要好好的把線代系統(tǒng)的學(xué)習(xí)一次。(希望真的能做到~~)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末村刨,一起剝皮案震驚了整個(gè)濱河市告抄,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌嵌牺,老刑警劉巖打洼,帶你破解...
    沈念sama閱讀 206,126評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異逆粹,居然都是意外死亡募疮,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,254評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門僻弹,熙熙樓的掌柜王于貴愁眉苦臉地迎上來阿浓,“玉大人,你說我怎么就攤上這事蹋绽“疟校” “怎么了筋蓖?”我有些...
    開封第一講書人閱讀 152,445評(píng)論 0 341
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)退敦。 經(jīng)常有香客問我粘咖,道長(zhǎng),這世上最難降的妖魔是什么侈百? 我笑而不...
    開封第一講書人閱讀 55,185評(píng)論 1 278
  • 正文 為了忘掉前任涂炎,我火速辦了婚禮,結(jié)果婚禮上设哗,老公的妹妹穿的比我還像新娘唱捣。我一直安慰自己,他們只是感情好网梢,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,178評(píng)論 5 371
  • 文/花漫 我一把揭開白布震缭。 她就那樣靜靜地躺著,像睡著了一般战虏。 火紅的嫁衣襯著肌膚如雪拣宰。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 48,970評(píng)論 1 284
  • 那天烦感,我揣著相機(jī)與錄音巡社,去河邊找鬼。 笑死手趣,一個(gè)胖子當(dāng)著我的面吹牛晌该,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播绿渣,決...
    沈念sama閱讀 38,276評(píng)論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼朝群,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了中符?” 一聲冷哼從身側(cè)響起姜胖,我...
    開封第一講書人閱讀 36,927評(píng)論 0 259
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎淀散,沒想到半個(gè)月后右莱,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,400評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡档插,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,883評(píng)論 2 323
  • 正文 我和宋清朗相戀三年慢蜓,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片阀捅。...
    茶點(diǎn)故事閱讀 37,997評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡胀瞪,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出饲鄙,到底是詐尸還是另有隱情凄诞,我是刑警寧澤,帶...
    沈念sama閱讀 33,646評(píng)論 4 322
  • 正文 年R本政府宣布忍级,位于F島的核電站帆谍,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏轴咱。R本人自食惡果不足惜汛蝙,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,213評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望朴肺。 院中可真熱鬧窖剑,春花似錦、人聲如沸戈稿。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,204評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽鞍盗。三九已至诸迟,卻和暖如春废睦,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,423評(píng)論 1 260
  • 我被黑心中介騙來泰國打工囊陡, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人漠烧。 一個(gè)月前我還...
    沈念sama閱讀 45,423評(píng)論 2 352
  • 正文 我出身青樓柴我,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國和親锚烦。 傳聞我的和親對(duì)象是個(gè)殘疾皇子滔岳,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,722評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容