機器學習(Coursera吳恩達)(八 其他)
標籤(空格分隔): 機器學習
異常檢測(anomaly detection)
異常檢測問題:假設有一個新飛機,引擎有特徵變量 ,異常檢測就是我們希望制導這個新的飛機引擎是否有某種異常。
給定數據集 ,假設數據集是正常的,我們希望制導新的數據 是不是異常的,即測試數據不屬於該組數據的機率。
這種方式稱爲密度估計,表達式如下:
欺詐檢測:
模型 是其屬於一組數據的可能性,通過 檢測非正常用戶。
異常檢測主要是用來識別欺騙。
算法
對於給定的數據集 ,我們要針對每一個特徵計算 和 的估計值。
一旦我們獲得了均值和方差的估計值,給定新的一個訓練實例,根據模型計算 .
當 爲異常。
數據集選擇
還是要用F1選擇閾值。判斷查準率和查重率。
與監督學習對比
選擇特徵
對於異常檢測算法,我們使用的特徵是至關重要的.
異常檢測假設特徵服從高斯分佈,例如使用對數函數: ,其中 爲非負數,或者 , c爲0-1之間的一個分數。
目的是讓數據特徵更接近高斯分佈。
推薦系統
引入標記:
* 代表用戶數
* 代表電影書
* 如果用戶j給電影i評分,則爲1
* 用戶j給電影i的評分
* 用戶j評分過電影的綜述
基於內容
- 表示用戶j的參數。( )
- 電影i的特徵
- 用戶j和電影i,我們預測的評分爲
- 代價函數針對用戶j:
爲了學習所有用戶,要對所有用戶的代價函數求和:
然後對這個總的代價函數使用梯度下降法求最優解。
協同過濾
現在,我們如果沒有對每一個電影都有評價,也就是沒有電影的特徵。因爲我們很難對每一個電影都設計合適的特徵,所以在我們擁有用戶評價的情況下,需要對每個電影學習特徵。
*協同過濾:是電影特徵與用戶參數協同學習。前提是我們不知道用戶的參數 也不知道電影的特徵 。我們擁有的只有用戶對電影的評分。
修改優化目標:
對代價函數求偏導數:(對 和 同時最小化)
算法步驟:
1. 初始
2. 使用梯度下降法最小化代價函數
3. 在訓練完之後,我們預測 爲用戶j對電影i的預測評分。
大規模學習算法
- 用學習曲線確定是否我們需要打大訓練集。
隨機梯度下降法
直接用梯度下降,對大規模系統來說每一次迭代都需要對所有數據進行誤差進行累加,那麼一次的計算量就會特別大。所以要找更快捷的方法,適用於大規模學習。
小批量梯度下降(Mini-batch)
隨機梯度下降收斂