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

溫馨提示×

溫馨提示×

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

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

怎么使用numpy實現LR算法

發布時間:2022-05-25 15:27:32 來源:億速云 閱讀:318 作者:iii 欄目:大數據

這篇文章主要介紹“怎么使用numpy實現LR算法”,在日常操作中,相信很多人在怎么使用numpy實現LR算法問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”怎么使用numpy實現LR算法”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

一個例子

問題: 如果給你一個給你 1000000 個數據 a1~a1000000,以及 1000000 個數據 b1~b1000000,要你求每一對 ai 和 bi 相乘的結果的總和c,你會怎么做?

采用for循環累加的代碼如下

怎么使用numpy實現LR算法

計算結果:249879.05298545936, for 循環計算耗時:519.999980927ms

如果采用numpy來進行同等的操作(向量化)

怎么使用numpy實現LR算法

計算結果:249879.05298545936, 矩陣計算耗時:0.999927520752ms

這計算速度的差距比馬里亞納海溝還深, 之所以差距會這么大, 是因為numpy, matlab這類矩陣運算的程序, 充分利用了現代CPU的SIMD技術, 極大提高了運算效率

向量化在LR中的應用

現在我們拿最簡單的LR邏輯回歸來講一下, 如何使用向量化的技巧, 手動訓練模型

假如我們選用 BGD(批量梯度下降) 或者 MBGD(小批量梯度下降), 那么LR的參數訓練公式為

怎么使用numpy實現LR算法

可以看到, 上述推導的公式中,中間的那個大矩陣, 其實就是輸入數據矩陣的轉置,這樣代碼實現就很簡單了, 使用numpy實現的LR算法為

def grand_ascent(data_train, data_label):
    dataMatrix = np.mat(data_train)
    labelMat = np.mat(data_label).transpose()
    m, n = np.shape(dataMatrix)
    weights = np.ones((n, 1))
    alpha = 0.001
    
    for i in range(0, 500):
        h = sigmoid(dataMatrix * weights)
        weights = weights + alpha * dataMatrix.transpose() * (labelMat - h)        
    return weights

到此,關于“怎么使用numpy實現LR算法”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

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

AI

宜章县| 肃北| 泌阳县| 德安县| 鹤峰县| 枣阳市| 曲松县| 宁乡县| 滕州市| 永泰县| 石泉县| 宣恩县| 班玛县| 平和县| 洛川县| 呼伦贝尔市| 正安县| 体育| 常州市| 聂荣县| 霸州市| 贵溪市| 沙洋县| 福泉市| 蒲江县| 斗六市| 山丹县| 六枝特区| 黔南| 五家渠市| 福贡县| 渝中区| 普兰县| 醴陵市| 金门县| 花莲市| 亳州市| 呼图壁县| 双流县| 鹿泉市| 绥宁县|