[斯坦福大學2014機器學習教程筆記]第五章-基本操做

    在這一章中咱們將學習一些Octave編程語言。咱們能夠經過它迅速實現咱們已經學過的或者後面要學的機器學習算法。算法

    在這節中,咱們將學習一系列的Octave的命令。編程

    首先,咱們先要打開Ocatve,接着咱們輸入一些簡單的式子,能夠看到咱們很快就能獲得結果。機器學習

    除了這些,咱們還能夠作一些邏輯運算。例如,1==2(顯然這個結果爲假),這裏用%表示註釋。咱們能夠看到這裏用0表示結果爲假。1~=2(1不等於2,結果爲真),所以這裏返回1。1&&0(邏輯與),結果爲0。1||0(邏輯或),結果爲1。xor(1,0)(異或運算),結果爲1。編程語言

    咱們能夠看到前幾行開頭都是Octave-3.2.4.exe:6>,這是默認的Octave提示符。顯示了Octave的版本以及其餘信息。若是你不想看到它,你能夠用一個隱藏命令PS1('>>');來改變提示字符(兩個單引號間是你喜歡的提示符)。而後咱們就能看到提示符會改變。函數

    下面要講的是Octave的變量。學習

 

    如今寫一個變量,對變量賦值爲3,並按下回車鍵,顯示變量等於3。spa

 

    若是你想分配一個變量,但不但願在屏幕上顯示結果,你能夠在命令後加一個分號,能夠抑制打印輸出,敲入回車後,不打印任何東西。3d

 

    接下來舉一個字符串的例子:變量b等於字符串"hi"。而後咱們輸入b,它就會被顯示出來。orm

                           

    而後,咱們讓變量c=(3>=1),顯然c的值應該爲1。輸入c,顯示出來c=1。blog

    若是你想打印出或者顯示一個變量,有下面幾種形式。

    (1)若是想顯示變量a,咱們能夠直接輸入a。

    (2)對於複雜一點的輸出,咱們可使用DISP命令。咱們能夠用它來輸出字符串,如disp(sprintf('2 decimals: %0.2f', a)),0.2%f表示只顯示小數點後兩位數字。

    (3)若是輸入format long能夠顯示更多的小數點後位數,format short默認輸出少許的小數點後位數。

    下面讓咱們看看向量和矩陣。

    讓咱們創建一個矩陣A,A=[1 2; 3 4; 5 6],這會產生應該三行兩列的矩陣A,第一行是一、2,第二行是三、4,第三行是五、6。分號的做用就是矩陣換行到下一行。以下圖所示,還有其餘的定義方法。

    咱們能夠用一樣的方法創建向量。咱們能夠定義一個行向量V=[1 2 3],還能夠定義列向量V=[1;2;3]

    下面介紹的符號。是一些更爲有用的符號。V=1: 0.1: 2,這個能夠理解成V是一組值,從1開始,增量或者說步長爲0.1,直到增長到2。按照這樣的方法,V將成爲一個行向量。咱們還可讓V=1:6,這樣V就被賦值爲1到6的六個整數

    還有一些方法用來生成矩陣。

    ones(2,3)用來生成一個2x3的矩陣,並且矩陣中全部元素都爲1

    若是咱們設置C = 2*ones(2,3),這樣C就是一個所有元素均爲2的2x3的矩陣。

    咱們還能夠設w = zeros(1,3),這樣就會生成一個1x3的零矩陣

    咱們還可讓w = rand(1,3),咱們會獲得一個1x3的隨機矩陣

    若是咱們輸入rand(3,3),咱們會獲得一個3x3的矩陣,並且全部的元素都是在0到1之間的隨機值。

    若是你知道高斯隨機變量或者你知道正態分佈的隨機變量,你就能夠設置w = randn(1,3),咱們就會獲得三個數值。它們服從高斯分佈,均值爲0,標準差或者方差爲1

    咱們還能夠設置更復雜的,如w = -6 + sqrt(10) * (randn(1,10000)),這個會獲得一個有10000個元素的向量(以下圖所示)。

    若是咱們如今用hist(w)命令,就會繪製成一個直方圖

    最後,再介紹一種生成矩陣的特殊命令。

    eye表示生成單位矩陣。如eye(4),就是一個4x4的單位矩陣。

    若是對於命令不清楚的話可使用幫助命令help。如help eye,它會顯示單位矩陣的幫助函數。

    這些只是一些簡單的命令。在後面的課程中,會講解更多複雜的命令和數據處理方法,並開始用Octave處理數據。

相關文章
相關標籤/搜索