<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                # 默認情況下可重現的機器學習結果 > 原文: [https://machinelearningmastery.com/reproducible-machine-learning-results-by-default/](https://machinelearningmastery.com/reproducible-machine-learning-results-by-default/) 在軟件項目中獲得可重現的結果是一種很好的做法。它現在甚至可能是標準做法,我希望它是。 您可以將任何開發人員從街上帶走,他們應該能夠按照您的流程檢查修訂控制的代碼庫,并構建可隨時使用的軟件。如果您有設置環境和將軟件發布到用戶/操作環境的過程,那就更好了。 它是工具和過程使結果可重復。在這篇文章中,您將了解到,使機器學習項目的結果具有可重復性并且機器學習領域的從業者和學者都在努力解決這一問題同樣重要。 作為一名程序員和開發人員,如果您有這門學科,那么您已經擁有了向前發展的工具和流程。 [![Reproducible Computational Research](https://img.kancloud.cn/a4/45/a445133fd7ede401026e5307dc4a1e70_267x300.jpg)](https://3qeqpr26caki16dnhd19sv6by6v-wpengine.netdna-ssl.com/wp-content/uploads/2014/01/Reproducible-Computational-Research.jpg) 可重復的計算研究 照片來源[蔡司顯微鏡](http://www.flickr.com/photos/zeissmicro/10307015376/sizes/l/),保留一些權利 ## 計算科學成果的再現性 實驗的再現性是科學方法的主要原則之一。你寫下你所做的,但其他科學家不必接受你的話,他們遵循相同的過程,并期望得到相同的結果。 計算科學的工作涉及代碼,在讀取和寫入數據的計算機上運行。報告未明確指定任何這些元素的結果的實驗??很可能不易重現。如果實驗無法再現,那么工作的價值是什么。 這是計算科學中的一個開放性問題,并且隨著越來越多的領域依賴于實驗的計算結果而變得越來越令人擔憂。在本節中,我們將通過查看一些考慮該問題的論文來回顧這個未解決的問題。 ### 可重復計算研究的十個簡單規則 這是2013年由Geir Kjetil Sandve,Anton Nekrutenko,James Taylor和Eivind Hovig撰寫的PLoS計算生物學文章。在論文中,作者列出了簡單的10條規則,如果遵循這些規則,預計將導致更容易獲得(可重復的!?)計算研究。規則總結如下。 * **規則1** :對于每個結果,跟蹤它是如何產生的 * **規則2** :避免手動數據操作步驟 * **規則3** :歸檔所有使用的外部程序的精確版本 * **規則4** :版本控制所有自定義腳本 * **規則5** :在標準化格式中記錄所有中間結果 * **規則6** :對于包含隨機性的分析,請注意基礎隨機種子 * **規則7** :始終將原始數據存儲在地塊之后 * **規則8** :生成分層分析輸出,允許檢查增加細節的層 * **規則9** :將文本陳述連接到基礎結果 * **規則10** :提供對腳本,運行和結果的公共訪問 作者正在評論計算生物學領域。不過,我認為規則還遠遠不夠。我發現它們具有描述性,而且我會更具說明性。 例如,通過規則2“避免手動數據操作步驟”,我認為所有數據操作都是自動化的。對于規則4“版本控制所有自定義腳本”,我認為創建工作產品的整個自動化過程都在版本控制中。 如果您是熟悉專業流程的開發人員,那么您應該充分考慮依賴關系管理,構建系統,可以執行嵌入式代碼的文檔的標記系統以及持續集成工具如何真正帶來一些嚴謹性。 ### 可訪問的可重復研究 Jill Mesirov在2010年發表在“科學”雜志上的一篇文章。在這篇簡短的文章中,作者介紹了一系列促進科學家可重復計算研究的系統術語,特別是: * 可重復研究系統(RRS):由可重復的研究環境和可重復的研究出版商組成。 * 可重復研究環境(RRE):計算工具,數據管理,分析和結果以及將它們打包在一起以進行再分配的能力。 * 可重復研究出版社(RRP):文件準備系統,鏈接到可重復研究環境,并提供嵌入分析和結果的能力。 描述了一種原型系統,該系統是為基因表達分析實驗開發的,稱為GenePattern-Word RRS。 再次,通過軟件開發和可用工具的眼睛,RRE聽起來像修訂控制加上具有依賴關系管理和持續集成服務器的構建系統。 RRP聽起來像一個帶有鏈接和構建過程的標記系統。 ### 邀請可重復的計算研究 這是David Donoho在2010年生物統計學中撰寫的一篇論文。這篇論文很精彩,我非常同意它的觀點。例如: > “計算重現性不是事后的想法 - 它必須從一開始就被設計到一個項目中。” 我自己也無法清楚地表達出來。在本文中,作者列出了在計算研究中建立可重復性的好處。研究人員的好處是: * 改善工作和工作習慣。 * 改善團隊精神 * 影響更大。 (減少無意的競爭和更多的確認) * 更大的連續性和累積影響。 作者為納入研究經費的納稅人列出的好處是: * 公共物品的管理。 * 公共獲取公共物品。 我向袖口的同事們提出了一些相同的論點,能夠指出這篇論文能夠更好地制作案例是非常棒的。 ### 使科學計算可重復 發表于“科學與計算”雜志工程,2000年由Matthias Schwab,Martin Karrenbach和Jon Claerbout撰寫。本文的開頭句很棒: > “通常涉及科學計算的研究在原則上是可重復的,但在實踐中卻不是。已發表的文件僅僅是獎學金的廣告,而計算機程序,輸入數據,參數值等則體現了獎學金本身。因此,作者通常在幾個月或幾年后無法復制自己的作品。“ 本文通過采用GNU make,標準項目結構以及在Web上分發實驗項目文件來描述計算實驗的標準化。這些實踐在斯坦福勘探項目(SEP)中標準化。 采用所解決的激勵問題是,當研究生因為無法復制和建立實驗而離開小組時,編程工作就會丟失。 標準項目結構和構建系統的想法對開發人員來說似乎很自然。 ## 機器學習中的默認重現性 我想要做的關鍵是不要忽視在機器學習領域開始時在軟件開發中建立標準的優秀實踐。使用它們并以它們為基礎。 我有一個用于機器學習項目的藍圖,并且隨著我完成的每個項目的改進。我希望將來能分享它。關注此空間。在此之前,以下是重用軟件工具的一些技巧,使重現性成為應用機器學習和機器學習項目的默認設置: * 使用構建系統并使構建目標自動生成所有結果。如果它不是自動化的,它不是項目的一部分,即有想法進行圖表或分析?自動化它的生成。 * 自動執行所有數據選擇,預處理和轉換。在進行機器學習競賽時,我甚至將wget用于累積數據文件。我想在新工作站和快速服務器上從頭開始運行。 * 使用修訂控制和標記里程碑。 * 強烈考慮檢查依賴關系或至少鏈接。 * 避免編寫代碼。編寫瘦腳本并使用標準工具并使用標準的unix命令將事物鏈接在一起。編寫重型代碼是分析過程中的最后手段或操作前的最后一步。 * 使用標記為分析和演示輸出產品創建報告。我喜歡批量思考很多有趣的東西并實現它們,讓我的構建系統在下次運行時創建它們。這使我能夠在以后沒有處于想法模式時對觀察結果進行深入評估和思考。 ### 專家提示 使用Continuous Integration服務器經常(每天或每小時)運行測試工具。 [![Continuous Integration](https://img.kancloud.cn/61/f6/61f604b073e3a4c5e9374daa60a61cbe_300x225.jpg)](https://3qeqpr26caki16dnhd19sv6by6v-wpengine.netdna-ssl.com/wp-content/uploads/2014/01/continuous-integration.jpg) 持續整合 照片來源 [regocasasnovas](http://www.flickr.com/photos/regocasasnovas/2941953416/sizes/l/) ,保留一些權利 我的測試工具中有條件檢查輸出產品是否存在,如果缺少則創建它們。這意味著每次運行線束時,只會計算已更改的內容或缺少的結果。這意味著我可以讓我的想象力瘋狂,并繼續向線束添加算法,數據轉換和各種瘋狂的想法,某些服務器將在下一次運行中計算缺失的輸出以供我評估。 我在想法生成和結果評估之間的這種脫節實際上加快了項目的進度。 我發現我的線束中有一個錯誤,我刪除了結果并在下一個循環中重新重建它們。 ## 摘要 在這篇文章中,您了解到機器學習的實踐是項目工作,包括源數據,代碼,具有中間工作產品和輸出工作產品的計算。中間也可能存在各種各樣的事情。 如果您像軟件項目一樣管理機器學習項目,并默認獲得可重復性的好處。您還將獲得速度和信心的額外好處,從而獲得更好的結果。 ## 資源 如果您想進一步閱讀這些問題,我已在下面列出了本文研究中使用的資源。 * [再現性](http://en.wikipedia.org/wiki/Reproducibility)維基百科頁面 * [可重復計算研究的十個簡單規則](http://scholar.google.com/scholar?q=Ten+Simple+Rules+for+Reproducible+Computational+Research),Geir Kjetil Sandve,Anton Nekrutenko,James Taylor和Eivind Hovig,2013 * [無障礙可重復研究](http://scholar.google.com/scholar?q=Accessible+Reproducible+Research),Jill Mesirov,2010年 * [邀請可重復的計算研究](http://scholar.google.com/scholar?q=An+invitation+to+reproducible+computational+research),David Donoho,2010 * [科學計算可重復](http://scholar.google.com/scholar?q=Making+scientific+computations+reproducible),Matthias Schwab,Martin Karrenbach和Jon Claerbout,2000 * [R和RStudio的重復研究](http://www.amazon.com/dp/1466572841?tag=inspiredalgor-20)(網站鏈接)由Christopher Gandrud撰寫,是一本關于這個主題的書使用R.我在撰寫本書時沒有讀過這本書,但這是我的閱讀清單。 您是否遇到過可重復的機器學習項目的挑戰?您是否知道其他軟件開發工具可以幫助實現這一目標?發表評論并分享您的經驗。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看