Coursera ML(3)-Multivariate Linear Regression python實(shí)現(xiàn)

Multivariate Linear Regression and Programming Exercise 1 更多見(jiàn):iii.run


Gradient Descent for Multiple Variables

  • Suppose we have n variables, set hypothesis to be:
  • Cost Function


  • Gradient Descent Algorithm



    Get every feature into approximately [-1, 1]. Just normalize all the parameters :)

  • Learning Rate:Not too big(fail to converge), not too small(too slow)

  • Polynormal Regression:Use feature scalling. (Somewhat like normalizing dimension)

Programming Exercise 1

下載程序及相關(guān)數(shù)據(jù)

Stanford coursera Andrew Ng 機(jī)器學(xué)習(xí)課程編程作業(yè)(Exercise 1),作業(yè)下載鏈接貌似被墻了,下載鏈接放這些阅。
http://home.ustc.edu.cn/~mmmwhy/machine-learning-ex1.zip

重新推導(dǎo)一下:

其實(shí)這里一共就兩個(gè)式子:

  • computeCost
    $$h_\theta (x) = \theta_0 + \theta_1 x_1 + \theta_2 x_2 + \theta_3 x_3 + \cdots + \theta_n x_n$$
    $$J(\theta_0,\theta_1 )=\frac1{2m} \sum_{i=1}{m}(h_{\theta}(x{(i)})-y{(i)})w$$

  • gradientDescent
    $$\begin{align} \text{repeat until convergence: } \lbrace & \newline \theta_0 := & \theta_0 - \alpha \frac{1}{m} \sum\limits_{i=1}^{m}(h_\theta(x_{i}) - y_{i}) \newline \theta_1 := & \theta_1 - \alpha \frac1m \sum\limits_{i=1}^m\left((h_\theta(x_i) - y_i) x_i\right) \newline \rbrace& \end{align}$$

python擬合實(shí)現(xiàn)代碼

原本用的是matlab代碼韧骗,我用python實(shí)現(xiàn)了一下,結(jié)果是一樣的:

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt


def readfile(path):
    X=[]
    y=[]
    with open(path,'r') as f:
        for line in f:
            X.append([1,float(line.split(',')[0])])
            y.append(float(line.split(',')[1]))
    return X,y


def dataplot(x,theta,y):
    plt.plot(x, y, 'rx', markersize=10)
    plt.ylabel('Profit in $10,000s')
    plt.xlabel('Population of City in 10,000s')
    plt.plot(X[:,1],X*theta,'-')
    plt.show()


def computeCost(X,y,theta):
    m = len(y)
    J = 0
    for i in range(m):
        J = J + float((X[i]*theta-y[i])**2)
    return J/(2*m)

def gradientDescent(X, y, theta, alpha, num_iters):
    m = len(y)
    num_iters = 1500
    J_history = np.zeros(num_iters)
    for i in range(num_iters):
        S =X.T * (X * theta - np.mat(y).T) / m
        theta = theta - alpha * S;
        J_history[i] = computeCost(X,y,theta)
    return theta

if __name__=="__main__":
    theta = np.mat([[0],[0]])
    iterations = 1500
    alpha = 0.01
    iterations = 1500
    path = "C:\Users\wing\Documents\MATLAB\ex1\ex1data1.txt"
    
    x,y = readfile(path)# 小寫的X不是矩陣开缎,是list涕癣,大寫的X是矩陣。
    X = np.mat(x)
    J = computeCost(X, y, theta)
    theta = gradientDescent(X, y, theta, alpha, iterations)
    dataplot(X[:,1],theta,y)

輸出的圖有點(diǎn)小茁瘦,就這樣吧。


以上

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末储笑,一起剝皮案震驚了整個(gè)濱河市甜熔,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌突倍,老刑警劉巖腔稀,帶你破解...
    沈念sama閱讀 218,122評(píng)論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異羽历,居然都是意外死亡焊虏,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,070評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門秕磷,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)诵闭,“玉大人,你說(shuō)我怎么就攤上這事澎嚣∈枘颍” “怎么了?”我有些...
    開(kāi)封第一講書人閱讀 164,491評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵易桃,是天一觀的道長(zhǎng)褥琐。 經(jīng)常有香客問(wèn)我,道長(zhǎng)颈抚,這世上最難降的妖魔是什么踩衩? 我笑而不...
    開(kāi)封第一講書人閱讀 58,636評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮贩汉,結(jié)果婚禮上驱富,老公的妹妹穿的比我還像新娘。我一直安慰自己匹舞,他們只是感情好褐鸥,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,676評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著赐稽,像睡著了一般叫榕。 火紅的嫁衣襯著肌膚如雪浑侥。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書人閱讀 51,541評(píng)論 1 305
  • 那天晰绎,我揣著相機(jī)與錄音寓落,去河邊找鬼。 笑死荞下,一個(gè)胖子當(dāng)著我的面吹牛伶选,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播尖昏,決...
    沈念sama閱讀 40,292評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼仰税,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了抽诉?” 一聲冷哼從身側(cè)響起陨簇,我...
    開(kāi)封第一講書人閱讀 39,211評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎迹淌,沒(méi)想到半個(gè)月后河绽,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,655評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡唉窃,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,846評(píng)論 3 336
  • 正文 我和宋清朗相戀三年葵姥,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片句携。...
    茶點(diǎn)故事閱讀 39,965評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖允乐,靈堂內(nèi)的尸體忽然破棺而出矮嫉,到底是詐尸還是另有隱情,我是刑警寧澤牍疏,帶...
    沈念sama閱讀 35,684評(píng)論 5 347
  • 正文 年R本政府宣布蠢笋,位于F島的核電站,受9級(jí)特大地震影響鳞陨,放射性物質(zhì)發(fā)生泄漏昨寞。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,295評(píng)論 3 329
  • 文/蒙蒙 一厦滤、第九天 我趴在偏房一處隱蔽的房頂上張望援岩。 院中可真熱鬧,春花似錦掏导、人聲如沸享怀。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 31,894評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)添瓷。三九已至梅屉,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間鳞贷,已是汗流浹背坯汤。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 33,012評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留搀愧,地道東北人惰聂。 一個(gè)月前我還...
    沈念sama閱讀 48,126評(píng)論 3 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像妈橄,于是被迫代替她去往敵國(guó)和親庶近。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,914評(píng)論 2 355

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

  • 本節(jié)筆記對(duì)應(yīng)第三周Coursera課程 binary classification problem 更多見(jiàn):李飛...
    mmmwhy閱讀 1,508評(píng)論 0 3
  • 眷蚓!~~~終于開(kāi)始了在Coursera上的第一個(gè)編程練習(xí) 鼻种。。沙热。 下面就是這次作業(yè)的介紹了~: Introducti...
    東皇Amrzs閱讀 9,629評(píng)論 9 7
  • 作者按:簡(jiǎn)書的文藝氣息還是比較濃的叉钥。我們來(lái)?yè)v搗亂,搞一篇全部數(shù)學(xué)公式的文章篙贸,用實(shí)際行動(dòng)推動(dòng)簡(jiǎn)書加入 MathJax...
    kamidox閱讀 1,387評(píng)論 8 6
  • [線性回歸算法]iii.run投队,可用于房屋價(jià)格的估計(jì)及股票市場(chǎng)分析。 [Logistic Regression]i...
    mmmwhy閱讀 427評(píng)論 0 2
  • 今日與胖胖同學(xué)約好一起把他的公積金辦好提取爵川,想到可以把他的公積金一并取出敷鸦,我們的小家庭終于有一筆小存款,心里美滋滋...
    小白琴子83416閱讀 215評(píng)論 0 0