機器學習(Machine Learning) 吳恩達

在這裏插入圖片描述

機器學習

  1. 監督學習:有標籤
    迴歸 regression ——連續數值
    分類 classification ——離散值
  2. 無監督學習:沒有標籤
    聚類
    雞尾酒會算法

單變量線性迴歸

在這裏插入圖片描述代價函數 cost :平方誤差函數 squared error —— 適用於線性迴歸

梯度下降

往往局部最優,但單變量線性迴歸也是全局最優。
在這裏插入圖片描述在這裏插入圖片描述

多變量線性迴歸

在這裏插入圖片描述

多元梯度下降

在這裏插入圖片描述在這裏插入圖片描述

特徵縮放

make sure features are on a similar scale
均值歸一化 —— x0=1,其他約爲0。

學習率 α

出現異常,一般需要調小α

正規方程

計算偏導爲0除,不需要迭代計算,可以一步得到。
不需要特徵縮放。
Θ=(XTX)1XTy\Theta = (X^TX)^{-1}X^Ty

(XTX)不可逆

原因:有重複的特徵;特徵太多,多於數據量。
Octave:pinv(X'*X)*X'*y
在這裏插入圖片描述

Octave

CLI 命令行
% 註釋
^ 次冪 .^ 元素次冪 * .*
~= 不等於 false 0;true 1
disp 屏幕打印 sprintf 輸出
format long format short
ones() zeros() rand() randn() eye() 單位矩陣 magic() 幻方矩陣
size() length()
load 加載數據 save 命名 變量 保存文件
who 所有變量 whos 詳細信息 clear 清除緩存變量
A(:) 把矩陣A變成一個列向量
log() exp() abs()
max() 每一列的最大值
find()
sum() prod()
floor() 向下取整 ceil() 向上取整
flipud() 垂直翻轉
A' 轉置
pinv()
hist 直方圖
plot() hold on 在同一張圖上畫圖
print -dpng 'name'
figure(n);plot() 同時畫n張圖
subplot() 子圖
xlabel() ylabel() legend() title() axis()
imagesc(A) 將矩陣A可視化 colorbar colormap gray
for i=1:10 XXXX end
while XXXX end
break continue
if XXXX elseif XXXX else XXXX end
function [返回值1, 返回值2] = 函數名(變量1, 變量2)
向量化計算

logistic regression——分類算法

Sigmoid/Logistic function

函數意義:某個輸入情況下,得到的輸出爲1的概率
在這裏插入圖片描述

決策界限

代價函數

在這裏插入圖片描述

梯度下降

在這裏插入圖片描述

高級優化

在這裏插入圖片描述

多元分類

將某些類別合併,與另一個類別進行分類。多次操作。

正則化

過擬合

在這裏插入圖片描述

代價函數

在這裏插入圖片描述在這裏插入圖片描述

線性迴歸

梯度下降

在這裏插入圖片描述

正規方程

在這裏插入圖片描述

logistic 迴歸

在這裏插入圖片描述在這裏插入圖片描述

神經網絡學習

解決非線性問題
在這裏插入圖片描述例子:改變權重θ可以實現 AND OR NOT XNOR 等功能
在這裏插入圖片描述多元分類

神經網絡參數的反向傳播算法

二元分類:一個輸出單元
多元分類:多個輸出單元

代價函數

在這裏插入圖片描述

反向傳播算法

在這裏插入圖片描述在這裏插入圖片描述
在這裏插入圖片描述

展開參數

梯度檢測

在這裏插入圖片描述

隨機初始化

權重矩陣隨機初始化,打破對稱性。

組合到一起

  1. 選擇神經網絡結構
    在這裏插入圖片描述
  2. 訓練神經網絡
    在這裏插入圖片描述在這裏插入圖片描述

應用機器學習的建議

  1. 評估假設
  2. 訓練集、驗證集(模型選擇)、測試集(6:2:2)
  3. 偏差(欠擬合):訓練集誤差大,驗證集誤差也大
    方差(過擬合):訓練集誤差小,但驗證集誤差大
    在這裏插入圖片描述
  4. 正則化:λ小(高方差、過擬合),λ大(高偏差、欠擬合)
    在這裏插入圖片描述
  5. 學習曲線:樣本數量爲橫軸,畫訓練集和驗證集的誤差曲線。
  1. 改進方法:在這裏插入圖片描述

機器學習系統設計

  1. 執行優先級:先進行一次簡單快速的實現,畫出學習曲線,再決定優化方向。
  2. 誤差分析:交叉驗證集
  3. 不對稱性分類的誤差評估:
    在這裏插入圖片描述
  4. 精確度和召回率的權衡:F值
  5. 機器學習數據

支持向量機

  1. 優化目標
    在這裏插入圖片描述
    在這裏插入圖片描述
  2. 大間隔分類:C非常大的時候
  3. 核函數:相似度函數
    在這裏插入圖片描述
  4. 使用SVM:使用已有軟件庫。
    在這裏插入圖片描述

無監督學習

  1. 無監督學習:不帶標籤——聚類算法。
  2. K-Means:遍歷樣本,進行分類;移動中心。
  3. 優化目標:距離平均值。
  4. 隨機初始化:K<m
  5. 選取聚類數量:根據後續目的。

降維

  1. 無監督學習。
  2. 目標:數據壓縮;可視化。
  3. 主成分分析PCA:最小化投影距離和。
    預處理:均值歸一化;特徵值縮放。
    奇異值分解SVD
  4. 應用PCA的建議:只在訓練集上運用;不建議用來防止過擬合;原數據效果不好時再考慮PCA。

異常檢測

  1. 選擇特徵;計算參數;對比新數據。
  2. 對數據進行變換,使其類似高斯分佈。
  3. 多變量高斯分佈。

推薦系統

  1. 基於內容的推薦算法
  2. 協同過濾算法

大規模機器學習

  1. 批梯度下降(原始方法):遍歷所有數據求和,每次需要所有樣本。
  2. 隨機梯度下降:先打亂順序,遍歷過程中優化,每次只考慮一個樣本。
  3. Mini-Batch梯度下降:每次b個樣本。
    在這裏插入圖片描述
  4. 在線學習。
  5. 減少映射與數據並行。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章