91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python如何實現感知器學習算法

發布時間:2022-02-17 09:13:13 來源:億速云 閱讀:137 作者:小新 欄目:開發技術

這篇文章主要介紹python如何實現感知器學習算法,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

我們將研究一種判別式分類方法,其中直接學習評估 g(x)所需的 w 參數。我們將使用感知器學習算法。
感知器學習算法很容易實現,但為了節省時間,我在下面為您提供了一個實現。該函數有幾個輸入:訓練數據、訓練標簽、對權重的初始猜測和學習率。注意,對于這兩個類,類標簽的值必須為+1和-1。

它將返回一個元組,其中包含:

  • 1.學習w參數

  • 2.執行的迭代次數

  • 3.錯誤分類的樣本數

花些時間檢查代碼。如果不清楚每一行是如何工作的,不要擔心,只要讓你自己知道每一行的目的是什么就可以了。代碼中有一些注釋可以幫助大家。

def perce(X, y, w_init, rho, max_iter=1000):
    
    (N, nfeatures) = X.shape

    # Augment the feature vectors by adding a 1 to each one. (see lecture notes)
    X = np.hstack((X, np.ones((N, 1))))
    nfeatures += 1

    w = w_init  # initialise weights
    iter = 0
    mis_class = N  # start by assuming all samples are misclassified

    while mis_class > 0 and iter < max_iter:
        iter += 1
        mis_class = 0
        gradient = np.zeros(nfeatures)  # initaliase the gradients to 0

        # loop over every training sample.
        for i in range(N):
            # each misclassified point will cause the gradient to change
            if np.inner(X[i, :], w) * y[i] <= 0:
                mis_class += 1
                gradient += -y[i] * X[i, :]
        # update the weight vector ready for the next iteration
        # Note, also that the learning rate decays over time (rho/iter)
        w -= rho / iter * gradient

    return w, iter, mis_class

解釋:

X-數據矩陣。每行代表一個單獨的樣本
y-與X-標簽行對應的整數類標簽的一維數組必須為+1或-1
w_init-初始權重向量
rho-標量學習率
最大迭代次數-最大迭代次數(默認為1000)

def perce_fast(X, y, w_init, rho, max_iter=10000):
  
    (N, nfeatures) = X.shape
    X = np.hstack((X, np.ones((N, 1))))
    nfeatures += 1
    w = w_init
    iter = 0
    mis_class = N
    yy = np.tile(y, (nfeatures, 1)).T
    while mis_class > 0 and iter < max_iter:
        iter += 1
        # Compute set of misclassified points
        mc = (np.dot(X, w.transpose()) * y) <= 0
        mis_class = np.sum(mc)
        # Update weights. Note, the learning rate decays over time (rho/iter)
        w -= rho / iter * (np.sum(-yy[mc, :] * X[mc, :], axis=0))
    return w, iter, np.sum(mc)

以上是“python如何實現感知器學習算法”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

辉县市| 象州县| 荔波县| 康平县| 鸡东县| 裕民县| 榕江县| 灌云县| 阿瓦提县| 京山县| 阜城县| 娄底市| 扎囊县| 乌拉特前旗| 天祝| 长阳| 瓦房店市| 崇义县| 阳信县| 开封市| 绥宁县| 花垣县| 石首市| 阳朔县| 鄱阳县| 凌海市| 容城县| 贡嘎县| 商城县| 介休市| 中卫市| 汨罗市| 九江县| 兴隆县| 绵竹市| 巩义市| 五家渠市| 新化县| 南开区| 沅陵县| 基隆市|