原创 在電腦上構建自我意識

很久以前曾想過如果能把自我意識複製到電腦上該有多好?這樣的話就可以實現某種程度的永生。想想看,如果人死後電腦上的“他/她”還能繼續與人溝通,說的話就像生前一樣,這對其親人朋友該是一件多麼美妙的事情。 當然

原创 Scala語言 + Spark MLLib進行機器學習---聚類

在下面的例子中,我們首先加載和解析數據,然後使用KMeans算法將數據聚成兩類。聚類的數目可以在程序中設定並傳遞給KMeans算法。然後計算集合內方差和( Within Set Sum of Squared Error,這是評價聚類好壞的

原创 PCA(主成分分析)、超弦/M理論、意識

    前些日子研究機器學習算法PCA(主成分分析),其本質就是對高維空間中的數據進行降維,捨棄重要性很小的數據,只保留主要的數據成分,從而大大減少需要處理的數據量,提高後續數據分析處理的速度。    

原创 Matlab向量化編程實現機器學習算法---1

假設x和θ爲向量(n+1維實向量空間),需要計算 z=θ(T)x(θ(T)表示θ的轉置),那麼可以按以下方式實現: z = 0; for i=1:(n+1),     z = z + theta(i) * x(i); end; 上述代碼

原创 基於Spark/Scala的Logistic Regression算法

一個基於Spark/Scala的迭代式邏輯迴歸(Logistic Regression)算法-----尋找最優分類面來將多維特徵空間中的兩類點集分開: val points = spark.textFile(...).map(parse

原创 在Spark中實現map-side join和reduce-side join

以下說的都是二表Join,多表join則可以通過轉化爲多個二表join來實現。 1. Map-side Join     如果要join的表中一個是大表,一個是小表(小到可以加載到內存中),就可以採用該算

原创 Scala語言 + Spark MLLib進行機器學習---線性迴歸

下面的例子展示瞭如何加載數據,解析爲RDD(譯者注:RDD爲Spark的彈性數據集);然後利用線性迴歸+隨機梯度下降算法構建一個線性模型,並進行預測,最後計算均方誤差(Mean Squared Errors)來對模型進行評估。 imp

原创 Scala語言 + Spark MLLib進行機器學習---支持向量機

下面的Scala代碼展示瞭如何使用支持向量機(SVM)算法進行二類分類,包括以下基本步驟: 1、加載訓練集到Spark空間 2、執行支持向量機(SVM)算法對該數據集進行訓練,獲得一個模型3、使用該模型進

原创 Matlab向量化編程實現機器學習算法---3

3. 主成分分析和白化     首先,我們需要確保數據的均值(近似)爲零。對於自然圖像,我們通過減去每個圖像塊的均值(近似地)來達到這一目標。爲此,我們計算每個圖像塊的均值,並從每個圖像塊中減去它的均值。

原创 Matlab向量化編程實現機器學習算法---2

2. 神經網絡---正向傳播       考慮一個三層神經網絡(一個輸入層、一個隱含層、以及一個輸出層),並且假定x是包含一個單一訓練樣本的列向量。則向量化的正向傳播步驟如下: z2 = w1.x + b