a.正則化
1.正則化的目的是什麼?
正則化是為了防止過擬合,加入正則項和的引數估計是符合我們之前的預定目標的,即用盡量少的變數去擬合資料。正則化符合奧卡姆剃刀原理,在所有可能選擇的模型中,能夠很好的解釋已知資料,並且十分簡單的才是最好的模型,也就是要選擇的模型。
2.機器學習中的範數
l0範數是指向量中非零元素的個數,如果用l0規則化乙個引數矩陣w,就是希望w中大部分元素為0,實現稀疏
l1範數是指向量中各個元素的絕對值之和
l2範數是指向量各元素的平方和然後開方
3.l1 l2 regularization描述
4.結論:
為了防止過擬合,不僅僅要求損失函式小,還要求 min(損失函式+正則化項 )
b.標準化
在spark.ml中標準化的實現列是standardscaler
standardscaler處理的物件是每一列,也就是每一維特徵,將特徵標準化為單位標準差或是0均值,或是0均值單位標準差。
主要有兩個引數可以設定:
withstd: 預設為真。將資料標準化到單位標準差。
withmean: 預設為假。是否變換為0均值。
standardscaler需要fit資料,獲取每一維的均值和標準差,來縮放每一維特徵。
eg:
//資料標準化
val scaler = new standardscaler()
.setinputcol("features")
.setoutputcol("scaledfeatures")
.setwithstd(true)
.setwithmean(false)
val scalermodel = scaler.fit(output)
val scaleddata = scalermodel.transform(output)
c.歸一化資料歸一化由minmaxscaler實現
minmaxscaler作用同樣是每一列,即每一維特徵。將每一維特徵線性地對映到指定的區間,通常是[0, 1]。
eg:
//資料歸一化
val scaler = new minmaxscaler()
.setinputcol("featuresassembler")
.setoutputcol(features)
Spark之json資料處理
預設情況下,sparkcontext物件在spark shell啟動時用namesc初始化。使用以下命令建立sqlcontext。val sqlcontext new org.apache.spark.sql.sqlcontext sc employee.json 將此檔案放在currentscal...
基於spark的流式資料處理 DStream概述
spark streaming工作機制 spark streaming程式的基本步驟 建立streamingcontext物件 spark streaming工作機制 在spark streaming中,會有乙個元件receiver,作為乙個長期執行的task跑在乙個executor上 每個rece...
FMDB中的資料處理
1 self.db executeupdate create table test a text,b text,c integer,d double,e double 我們建立乙個 text,可以很清楚的看到其欄位對應的資料型別 資料型別 text 字串型別。integer 整型。real 浮點型 ...