《Spark MLlib 機器學習實戰》1——讀后總結


1 概念

2 安裝

3 RDD

RDD包含兩種基本的類型:Transformation和Action。RDD的執行是延遲執行,只有Action算子才會觸發任務的執行。

寬依賴和窄依賴用於切分任務,如果都是窄依賴,那么就可以最大化的利用並行。

常用操作:

  • cache 緩存
  • cartesian 笛卡爾積
  • coalesce 重分區
  • countByValue 分組統計
  • distinct 去除重復
  • filter 過濾
  • flatMap
  • map
  • groupBy 分組
  • keyBy 增加key
  • reduce 拼接
  • sortBy 排序
  • zip 合並壓縮

4 基本概念

基本的數據結構

MLlib中提供幾種向量和矩陣的數據結構:

  • Local vector,本地向量
  • Labeld point,帶標簽的向量
  • Local Matrix,本地矩陣
  • Distributed matrix,分布式矩陣

一般向量或者矩陣都有兩個方法,dense表示密集版,sparse表示稀疏版,稀疏版是可以指定下標的。

基本的統計方法

  • colStats 以列統計基本數據,count個數、max最大值、mean最小值、normL1歐幾里德距離、normL2曼哈頓距離、numNonzeros不為0的個數、variance標准差
  • chiSqTest 皮爾遜距離計算,Statistics.corr(rddx,rddy,"spearman")
  • corr 數據集相關系數計算,Statistics.corr(rddx,rddy)
  • 分層抽樣 data.sampleByKey(withReplacement=false,fractions,0)
  • 假設檢驗 自由度、統計量、P值、卡方檢驗
  • 隨機數 RandomRDDs.normalRDD(sc,100)

5 協同過濾

協同過濾可以基於人也可以基於物品,不足之處在於:

  • 基於人會對熱點物品不夠精確
  • 基於物品,但是沒有什么多樣性

相似度度量

  • 基於歐幾里德距離的計算
  • 基於夾角余弦的相似度計算

他們的區別:

  • 歐幾里德注重空間上的差異
  • 夾角余弦注重趨勢

最小二乘法

最小二乘,就是基於均方誤差尋找最佳匹配函數的過程。在矩陣中就是把大矩陣拆分成連個小矩陣的計算。

實踐

new ALS()
rank 隱藏的因子數
iterations 迭代次數
lambda 正則項參數
implicitPref 顯示反饋還是隱式反饋
alpha 擬合修正的幅度

6 線性回歸

梯度下降

道士下山的例子,以及隨機梯度下降中 θ=θ-α*J'(θ)公式的原理。

正則項

避免過擬合,可以使用正則項——lasso回歸(L1)和嶺回歸(L2)。關於嶺回歸可以參考下面兩篇:

7 分類

分類算法,包括 邏輯回歸、支持向量機SVM、貝葉斯等。

邏輯回歸

跟線性回歸差不多,多了一個sigmoid函數,輸出的內容也稍有變化。
另外,對於損失函數的推導也不同了,這里需要最大似然估計的知識!

基本的流程就是,確定1或者0的概率,然后推導出極大似然公式,然后取對數,求導...最終基於梯度下降,優化參數。
由於忘記最大似然估計,所以這里真是理解不上去.

支持向量機

求解的是划分邊界的最優解,他的名字聽起來像一種很高級的機器人,其實跟邏輯回歸差不多,就是選取一條最優的線把數據分作兩類。

這里有疑問的可以參考——邏輯回歸和SVM的區別是什么?各適合解決什么問題?
https://www.zhihu.com/question/24904422?sort=created

暫時不知道它的損失函數是怎么算出來的...慢慢研究吧

朴素貝葉斯

明明就是計算概率,非叫這么高大上的名字。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM