《集體智慧程式設計》摘要
阿新 • • 發佈:2018-11-12
提供推薦
- 皮爾遜相關度評價
- 適合於資料不規範的情況
- 比如某一影評者的打分總是對於平均水平偏離很大(比如總是偏低),此時用歐幾里得距離計算出來的差別不大,無法很好地分類
- 原理是根據不同人的評分將影片對映為空間中的點,然後對於大量的點擬合一條線,比較不同人的線的相關度
發現群組
- 無監督學習的目的是發現數據包含的內在結構
- K-均值聚類
- 輸入資料一般需要做縮放,如標準化
- 原理:K均值是建立在距離度量上的,因此不同變數間如果維度差別過大,可能會造成少數變數“施加了過高的影響而造成壟斷”。
- 優點:執行速度快,能夠處理的資料量大,且易於理解。
- 缺點:演算法效能有限,在高維上可能不是最佳選項。
- 輸入資料一般需要做縮放,如標準化
搜尋與排名
- 一些關於有效查詢到的思想
- 單詞頻度
- 一個網站中包含關鍵字的數量越多,越有可能是想要查詢的網站
- 單詞位置
- 對於一個相關網頁,我們搜尋的關鍵字往往會出現在靠近網頁開始的位置
- 單詞距離
- 當有多個關鍵詞時,尋找單詞間距離更近的網站往往是有意義的
- 單詞頻度
- pagerank演算法
- 一個網頁的重要性取決於指向該網站的所有其他網站的重要性
- 決定因素:
- 指向該網站的其他網站的PageRank值
- 每個指向該網站的其他網站的總link數
- link越多值越小
- 阻尼因子
- PageRank計算的是某個使用者在任意點選連線後到達某一網站的可能性,理論來說,經過無限次點選後會到達任意網站,但是大多數人在數次點選後會停止,於是設計了阻尼因子的概念
- 初始化時設定一個初始值(比如1.0),經過數次迭代後會趨於穩定值(就是PageRank值)
優化演算法
- 將要解決的問題轉化為一個成本函式,而我們的任務就是是的成本函式最小
- 最簡單的方法就是隨機搜尋,他是我們評估其他演算法的基線(base line)
- 爬山演算法
- 類似於梯度下降法
- 缺點在於可能求得的區域性最小值而不是全域性最小值
- 可以用隨機重複爬山法改進
- 模擬退火演算法
- 設定一個接受概率函式,他與自定的溫度變數以及成本值相關。
- 當溫度高的時候,成本值稍大的解也可能接受(所以在初始階段解可能反而變差),但是溫度在不斷迭代中不斷下降,而溫度低的時候只有成本值很低的解才能被接受
- 遺傳演算法
- 先隨機生成一組解,稱之為種群,計算每個個體的成本函式,得到一個有序列表
- 精英選拔法
- 將成本最低的一部分加入新的種群中,剩餘的由修改後的全新解代替
- 兩種修改解的方法
- 變異
- 將現有解做微小隨機的改動
- 交叉
- 選取最優解中的兩個按照某種方式進行結合
- 通常變異的概率很小而交叉的概率很大
- 變異
- 結束指令
- 在經過一段時間的迭代後,族群任然保持穩定,此時可以停止了
文件過濾
- 樸素的貝葉斯分類器
- 假設每個單詞出現的概率是互相獨立的
- 但實際上是不成立的,但是我們可以將計算結果進行比較,觀察那個分類的概率更大
- 為了避免重要郵件的誤刪,我們可以為每個分類定義一個最小閾值,如果計算出來的結果都小於這個閾值,我們就劃分到未知分類中
- 這種演算法的優勢主要在於訓練所需的時間和記憶體較少
- 費舍爾分類器
- 不懂 (–_–!)
決策樹建模
- 決策樹實際上就是根據資料的feature的一系列的if…then…結構,最終得到輸出
- 輸出可以是分類或者數值
- 決策樹的難點在於判斷條件(feature)選擇的先後
- 舉例,為什麼以A條件作為根(即第一個判斷條件),為什麼條件B在條件C前判斷
- 挑選的方法有基尼不純度,熵增益等
- 實質是選取儘可能將同種結果放在一個分類的條件
- 為了避免過擬合以及減少收集資訊的難度,我們往往採取剪枝的方法忽略那些對結果影響不大的feature
- 決策樹的優點在於可以直觀的理解判斷的理由和過程,不像深度學習是個黑箱
- 缺點則在於對於輸出結果過多的情況構建太複雜,還有就是容易被攻擊
- 這裡的攻擊是指人為的改變一些特徵,使得分類器判斷錯誤。常見於垃圾郵件躲避檢測中。因為決策樹最終在底層判斷是基於單個條件的,攻擊者往往只需要改變很少的特徵就可以逃過監測。
構建價格模型
- KNN(K最鄰近演算法)
- K過小則容易受到噪聲和錯誤資料的影響,過大則容易將不相關資料也包括進去
- 可以在無需重新計算的情況下加入新的資料,適合資料量很大的情況
核方法和SVM(支援向量機)
- 普通的SVM分類超平面只能應對線性可分的情況,而對於線性不可分的情況我們則需要引入一個Kernel,這個Kernel可以把資料集從低維對映到高維,使得原來線性不可分的資料集變得線性可分
- 其實就是深度學習裡的啟用函式
- 我們想要用一個超平面(二維為一條線)將資料分類,但是滿足條件的超平面有很多,SVM就是找出其中最好的一個
- 方法是儘可能的使最靠近分離超平面的資料與超平面的距離變大
- 我們不需要考慮所有資料,只需要考慮靠近平面的那些資料,這些資料又稱為支援向量
尋找獨立特徵
- 從嘈雜的背景聲中提取人聲,影象壓縮等實質是特徵提取
- 常用方法是NMF,即非負矩陣分解
- 顧名思義,就是將資料已矩陣的顯示呈現,然後分解為特徵矩陣和權重矩陣