首頁>Club>
4
回覆列表
  • 1 # 科技爸

    1.什麼是無監督學習

    無監督學習,就是不需要訓練標籤,直接使用輸入資料進行特徵學習。這個學習方法,解決了訓練標籤資料的難題,實現了所謂的自動化學習。傳統的無監督學習演算法如K-Means可以很好的實現聚類問題。

    2.最新無監督學習方案——自編碼

    最近幾年有學者提出了自編碼學習,可以實現分類和迴歸問題。

    自編碼實現學習的基本原理就是透過神經網路學習儘量實現輸出結果和輸入資料相近。

    這裡有個問題:因為無監督學習沒有標籤資料,輸入和標籤都是同樣的資料。學習過程有可能出現這樣的情況:輸入什麼資料,無需學習就直接原樣輸出什麼,這樣就失去的學習的意義。

    所以我們不應該將自編碼器設計成輸入到輸出完全相等。自編碼的網路通常需要強加一些約束,使它只能近似地複製,並只能複製與訓練資料相似的輸入。比如自編碼的編碼和解碼過程就是壓縮和還原過程,這個過程是有訊號損失的,所以還原過程是不可能完全恢復原樣的。這樣當輸入和標籤都是同一個資料時,網路會學著去逼近輸入訊號,從而提高了學習能力。

    3.自編碼學習效果

    比如在keras的官方教程(https://blog.keras.io/building-autoencoders-in-keras.html)有這樣一段程式:

    autoencoder.fit(x_train, x_train,…

    這裡輸入和標籤資料都是訓練資料。

    那學習的學習效果如何呢?上面是原圖,下面是學習完後還原的圖,可以看到還原的效果還是比較好的:

  • 2 # 一個存在感小透明

    機器學習演算法本身可以分為四類,監督學習,無監督學習,半監督學習與強化學習。我在研究生期間,研究的是粒子群演算法與學習自動機,其中後者就屬於沒那麼出名的強化學習演算法類。當然,因為研究方向屬於機器學習,因此對其他演算法也有一點了解,在此給大家簡單介紹幾個無監督學習演算法。

    K-means演算法

    k-means演算法應該是最出名的無監督學習演算法,中文譯名聚類演算法。演算法流程是首先隨機生成幾個點叫做聚類中心,然後透過不斷迭代來更新聚類中心位置以及圍繞聚類中心的點(資料)。在不斷的迭代過程中,有些聚類中心會由於失去其擁護者(圍繞其的資料)而被拋棄。

    在初始化的時候,通常會選擇k個聚類中心,不斷迭代,直到達到最佳化目標結束。這個最佳化目標通常叫失真代價函式或者畸變函式,當函式達到最優解(相對最優,在這類連續空間中,是不可能找到絕對的全域性最優解的)或迭代資源用盡,就算達到目標。

    高斯混合模型

    高斯混合模型主要的特點在於可以對無標籤的資料進行分組,然後再進行資料的聚類分析。

    ISOmap演算法

    這個演算法屬於流行學習演算法中的一種。流型學習演算法對存在非線性關係的資料集的處理效果非常好,要比多元迴歸分析更加節約研究人員的人力。它透過將一個低維度流型嵌入到一個高維度空間來描述資料集,是一種無監督的評估器。

    虛擬碼如下:

    from sklearn.datasets import load_digits

    from sklearn.manifold import Isomap

    digits = load_digits()

    digits.images.shape

    # 視覺化資料集

    fig, axes = plt.subplots(10, 10, figsize=(8,8),

    subplot_kw={"xticks": [], "yticks": []},

    gridspec_kw=dict(hspace=0.1, wspace=0.1))

    for i, ax in enumerate(axes.flat):

    ax.imshow(digits.images[i], cmap="binary", interpolation="nearest")

    ax.text(0.05, 0.05, str(digits.target[i]), transform=ax.transAxes, color="green")

  • 3 # 一個存在感小透明

    機器學習演算法本身可以分為四類,監督學習,無監督學習,半監督學習與強化學習。我在研究生期間,研究的是粒子群演算法與學習自動機,其中後者就屬於沒那麼出名的強化學習演算法類。當然,因為研究方向屬於機器學習,因此對其他演算法也有一點了解,在此給大家簡單介紹幾個無監督學習演算法。

    K-means演算法

    k-means演算法應該是最出名的無監督學習演算法,中文譯名聚類演算法。演算法流程是首先隨機生成幾個點叫做聚類中心,然後透過不斷迭代來更新聚類中心位置以及圍繞聚類中心的點(資料)。在不斷的迭代過程中,有些聚類中心會由於失去其擁護者(圍繞其的資料)而被拋棄。

    在初始化的時候,通常會選擇k個聚類中心,不斷迭代,直到達到最佳化目標結束。這個最佳化目標通常叫失真代價函式或者畸變函式,當函式達到最優解(相對最優,在這類連續空間中,是不可能找到絕對的全域性最優解的)或迭代資源用盡,就算達到目標。

    高斯混合模型

    高斯混合模型主要的特點在於可以對無標籤的資料進行分組,然後再進行資料的聚類分析。

    ISOmap演算法

    這個演算法屬於流行學習演算法中的一種。流型學習演算法對存在非線性關係的資料集的處理效果非常好,要比多元迴歸分析更加節約研究人員的人力。它透過將一個低維度流型嵌入到一個高維度空間來描述資料集,是一種無監督的評估器。

    虛擬碼如下:

    from sklearn.datasets import load_digits

    from sklearn.manifold import Isomap

    digits = load_digits()

    digits.images.shape

    # 視覺化資料集

    fig, axes = plt.subplots(10, 10, figsize=(8,8),

    subplot_kw={"xticks": [], "yticks": []},

    gridspec_kw=dict(hspace=0.1, wspace=0.1))

    for i, ax in enumerate(axes.flat):

    ax.imshow(digits.images[i], cmap="binary", interpolation="nearest")

    ax.text(0.05, 0.05, str(digits.target[i]), transform=ax.transAxes, color="green")

  • 中秋節和大豐收的關聯?
  • 請問寫娛樂文章應該怎麼寫?