機器學習的定義:(使用octave編程環境)
1、在沒有明確設置的情況下,使計算機具有學習能力——Samuel
2、 計算機程序從經驗E中學習,解決某一任務T,進行某一性能度量P,通過P測定在T上的表現因經驗E而提高——Tom Mitchell
機器學習算法分類:
1、監督學習(Supervised learning)
2、無監督學習(Unsupervised learning)
3、強化學習(Reinforcement learning)
4、推薦系統(Recommender systems)
監督學習
監督學習為根據數據進行預測結果,分別為回歸問題和離散(分類)問題,支持向量機可以允許無窮多個變量。
無監督學習
很少或沒有存在的例子,根據數據集的結構找出規律。無監督學習可以將數據集分成不同的簇,例子(谷歌新聞),算法:聚類算法。
模型描述
模型描述
假設函數
根據已有的數據集得到的函數,并不唯一
代價函數(平方誤差代價函數)
代價函數
假設函數與代價函數
一個參數
兩個參數(等高圖)
梯度下降算法(尋找代價函數最小值)
1、賦值參數的初始值;
2、改變參數值,算出代價函數值直到找到最小
梯度下降公式
梯度下降模型
線性模型梯度下降算法
梯度下降算法也叫做‘batch’梯度下降
矩陣和向量
矩陣是有方括號括起來的m行n列數,可以看做是一個多維數組;
向量是特殊的矩陣,它是只有一列的矩陣;
矩陣相乘
轉化為矩陣相乘思想1
轉化為矩陣相乘思想2
矩陣相乘不符合交換律,但可以結合律
單位矩陣:正對角線的數都是1,其余為0
逆矩陣:MXN=NXM=I(單位矩陣),那么N就是M的逆矩陣,只有方陣才有逆矩陣。沒有逆矩陣的矩陣叫奇異矩陣或退化矩陣。
轉置矩陣:把矩陣鏡像,行變成列。
轉置矩陣
多元梯度下降法
特征縮放減少計算時間
縮放到-1到1的附近
特征縮放1
特征縮放2
學習率選擇
學習率選擇
正規方程
正規方程
不可逆時該這樣做
梯隊回歸算法和正規方程比較
比較
octave操作
- rand(m)
- randn(m)
- eye(m)
- sqrt(m)
- ==
- ~=
- format long, format short
- pi
- ;
- m:s:n
- dist(m)
- ones(m)
- zeros(m)
- disp(sprintf('2 decimals:%0.2f',a))
- && || xor(a,b)
- size(A)
- size(A,1):A矩陣的行數
- size(A,2):A矩陣的列數
- length(A):A矩陣最大維度的大小
- C:\Users\ang\Desktop:改變當前位置
- ls
- load featureX.dat 或者 load('featureX.dat'):加載文件
- who:顯示工作目錄的所有變量
- whos:顯示變量的詳細信息
- clear X:清除某個變量
- clear:清除所有變量
- v= priceY(1:10):將變量的前十個元素存入v變量
- save hello.dat v:將變量v存到hello.dat文檔中并寫入硬盤
- A(2,:) :返回第二 行的所有元素
- A(:,2) : 命令返回第二列
- A([1 3],:):取矩陣A第一行到第三行的元素
- A = [A, [100, 101, 102]]:加入新的矩陣
- A = [A;[100, 101, 102]]:加入新的矩陣