[發明專利]一種基于pyspark的機器學習方法和裝置在審
| 申請號: | 201811437502.5 | 申請日: | 2018-11-28 |
| 公開(公告)號: | CN109784494A | 公開(公告)日: | 2019-05-21 |
| 發明(設計)人: | 趙爭超;盧尋 | 申請(專利權)人: | 同盾控股有限公司 |
| 主分類號: | G06N20/00 | 分類號: | G06N20/00 |
| 代理公司: | 北京潤澤恒知識產權代理有限公司 11319 | 代理人: | 莎日娜 |
| 地址: | 311121 浙江省杭州市余*** | 國省代碼: | 浙江;33 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 機器學習 方法和裝置 校驗 訓練集 并行 分區 分布式特征 參數計算 迭代訓練 結果模型 兩兩交叉 目標模型 業務數據 傳入的 算法 工程師 | ||
本發明實施例提供了一種基于pyspark的機器學習方法和裝置,具體包括對傳入的訓練集進行格式校驗;如果通過格式校驗,則將訓練集隨機分為多個并行的分區;利用多個并行的分區進行迭代訓練,得到目標模型的結果模型參數。由于本發明實現了分布式特征兩兩交叉情況下的參數計算,因此不再依賴于算法工程師對業務數據的了解,從而實現了效果較好的機器學習。
技術領域
本發明涉及人工智能技術領域,特別是涉及一種基于pyspark的機器學習方法和裝置。
背景技術
對于稀疏矩陣下的特征組合問題,傳統機器學習一般僅考慮如何對特征賦予權重,而沒有考慮特征間存在的相互作用,造成實現效果較差;或者是基于邏輯回歸算法做大量的人工特征交叉,但是這樣的交叉非常依賴于算法工程師對業務數據的理解,而且非常費事,但是絕大部分情況下算法實現和業務數據處理是相隔較遠的兩種業務,一般情況下算法工程師無法對業務數據做到深入的理解,這樣一來同樣造成最終的實現效果較差。
發明內容
有鑒于此,本發明提供了一種基于pyspark的機器學習方法和裝置,以解決傳統機器學習的實現效果較差的問題。
為了解決上述問題,本發明公開了一種基于pyspark的機器學習方法,包括步驟:
對傳入的訓練集進行格式校驗,所述訓練集中樣本的格式為pyspark的dataframe格式;
如果通過所述格式校驗,則將所述訓練集隨機分為多個并行的分區;
利用所述多個并行的分區進行迭代訓練,得到目標模型的結果模型參數,所述目標模型為因子分解機。
可選的,所述利用所述多個并行的分區進行迭代訓練,包括:
針對每個所述分區,每一輪迭代完成時,通過廣播變量傳遞的中間模型參數計算損失函數;
對所述損失函數求導,得到求導結果;
利用所述求導結果更新所述中間模型參數;
對所有分區的中間模型參數進行線性平均,得到平均模型參數;
判斷最近兩次迭代計算的過程是否收斂,如是,則將所述平均模型參數輸出為所述結果模型參數,如否則進行下一次迭代計算。
可選的,所述對所述損失函數求導,包括:
利用隨機梯度下降算法或者小批量隨機梯度算法對所述損失函數進行求導計算。
可選的,還包括:
把所述結果模型參數傳到指定路徑的文件中。
可選的,在所述對傳入的訓練集進行格式校驗步驟之前,還包括:
準備所述訓練集,所述訓練集的每個樣本至少包括特征字段和標簽字段。
另外,還提供了一種基于pyspark的機器學習裝置,包括:
格式校驗模塊,用于對傳入的訓練集進行格式校驗,所述訓練集中樣本的格式為spark的dataframe格式;
數據分割模塊,用于如果通過所述格式校驗,則將所述訓練集隨機分為多個并行的分區;
模型訓練模塊,用于利用所述多個并行的分區進行迭代訓練,得到目標模型的結果模型參數,所述目標模型為因子分解機。
可選的,所述模型訓練模塊包括:
函數計算單元,用于針對每個所述分區,每一輪迭代完成時,通過廣播變量傳遞的中間模型參數計算損失函數;
求導計算模塊,用于對所述損失函數求導,得到求導結果;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于同盾控股有限公司,未經同盾控股有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201811437502.5/2.html,轉載請聲明來源鉆瓜專利網。





