<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>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                # 從頭開始停止編碼機器學習算法 > 原文: [https://machinelearningmastery.com/dont-implement-machine-learning-algorithms/](https://machinelearningmastery.com/dont-implement-machine-learning-algorithms/) ### 你不必實現算法 ... _如果你是初學者并且剛剛開始。_ 停止。 您是否正在實施機器學習算法? 為什么? 從頭開始實現算法是我看到初學者犯下的最大錯誤之一。 在這篇文章中你會發現: * 初學者陷入的算法實現陷阱。 * 設計世界一流的機器學習算法實現的真正困難。 * 為什么你應該使用現成的實現。 讓我們開始吧。 ![Don't Implement Machine Learning Algorithms](img/7e0b20781e6e1d8d803f468aebe287bd.jpg) 不要實施機器學習算法 照 [kirandulo](https://www.flickr.com/photos/kirandulo/16555448595/) ,保留一些權利。 ## 抓住了實施陷阱 這是我收到的電子郵件的片段: > ......我真的很掙扎。為什么我必須從頭開始實現算法? 似乎很多開發人員都陷入了這一挑戰。 他們被告知或暗示: **算法必須在使用前實現 。** 或者那個: **你只能通過 實現算法來學習機器學習。** 以下是我偶然發現的一些類似問題: * _當_ tensorflow _等許多高級API可用時,為什么需要手動實現機器學習算法?_ (Quora 上的[)](https://www.quora.com/Why-is-there-a-need-to-manually-implement-machine-learning-algorithms-when-there-are-many-advanced-APIs-like-tensorflow-available) * _您自己或是否應該使用庫,是否有任何實現機器學習算法的價值?_ (Quora 上的[)](https://www.quora.com/Is-there-any-value-implementing-machine-learning-algorithms-by-yourself-or-should-you-use-libraries) * _實現機器學習算法有用嗎?_ (Quora 上的[)](https://www.quora.com/Is-it-useful-to-implement-machine-learning-algorithms) * _我應該使用哪種編程語言來實現機器學習算法?_ (Quora 上的[)](https://www.quora.com/Which-programming-language-should-I-use-to-implement-Machine-Learning-algorithms) * _為什么你和其他人有時會從零開始實現機器學習算法?_ (GitHub 上的[)](https://github.com/rasbt/python-machine-learning-book/blob/master/faq/implementing-from-scratch.md) ## 你可能做錯了 您不必從頭開始實現機器學習算法。 這是傳統上用于教授機器學習的自下而上方法的一部分。 1. 學習數學。 2. 學習理論。 3. 從零開始實現算法。 4. _??? (魔術發生在這里_)。 5. 應用機器學習。 將機器學習算法應用于問題并獲得結果比從頭實現它們要容易得多。 **好多了!** 學習如何使用算法而不是實現算法不僅更容易,而且是更有價值的技能。您可以開始使用的技能,以便迅速產生真正的影響。 通過應用機器學習,您可以選擇許多低調的水果。 ## 實現機器學習算法 ......真的很難! 用于解決業務問題的算法需要**快速**和**正確**。 ### 快速算法 更復雜的非線性方法比線性方法需要更多的數據。 這意味著他們需要做很多工作,這可能需要很長時間。 算法需要快速處理所有這些數據。特別是,規模。 這可能需要以最適合底層庫中的特定矩陣運算的方式重新解釋作為該方法基礎的線性代數。 它可能需要專門的緩存知識才能充分利用您的硬件。 在你得到“ _hello world_ ”實現工作之后,這些并不是特殊的技巧。這些是包含算法實施項目的工程挑戰。 ### 正確的算法 機器學習算法將為您提供結果,即使它們的實現已經削弱。 你得到一個號碼。一個輸出。一個預測。 有時預測是正確的,有時則不然。 機器學習算法使用隨機性。 [它們是隨機算法](http://machinelearningmastery.com/randomness-in-machine-learning/)。 這不僅僅是單元測試的問題,而是要深入了解該技術并設計案例來證明實現符合預期并處理邊緣情況。 ## 使用現成的實施 你可能是一名優秀的工程師。 但是,與現成的實現相比,你的“ _hello world_ ”算法的實現可能不會削減它。 您的實現可能基于教科書描述,這意味著它將是樸素和緩慢的。您可能有也可能沒有專業知識來設計測試以確保實施的正確性。 開源庫中的現成實現是為了速度和/或穩健性而構建的。 **你怎么不使用標準的機器學習庫?** 它們可以針對旨在盡可能快的非常狹窄的問題類型進行定制。它們也可能用于通用目的,確保它們能夠在您考慮的范圍之外的各種問題上正確運行。 ### 庫并非全部創建平等 并非您從Internet下載的所有算法實現都是相同的。 來自GitHub的代碼片段可能是研究生“ _hello world_ ”實現,或者它可能是由大型組織的整個研究團隊貢獻的高度優化的實現。 您需要評估您正在使用的代碼的來源。有些來源比其他來源更好或更可靠。 通用目的庫通常以某種速度為代價而更加強大。 黑客工程師的照明快速實施經常遭受糟糕的文檔記錄,并且在滿足他們的期望時非常迂腐。 選擇實施時請考慮這一點。 ### 建議 當被問及時,我通常會推薦以下三種平臺之一: 1. **Weka** 。一個不需要任何代碼的圖形用戶界面。如果您想首先關注機器學習并學習如何解決問題,那就太完美了。 2. **Python** 。生態系統包括大熊貓和scikit-learn。非常適合將開發中的機器學習問題的解決方案拼接在一起,該解決方案足夠強大,可以部署到操作中。 3. **R** 。更高級的平臺雖然擁有深奧的語言,有時還有錯誤的軟件包,但可以訪問由學者直接編寫的最先進的方法。非常適合一次性項目和研發。 這些只是我的建議,還有更多的機器學習平臺可供選擇。 ## 有時你必須實施 在開始機器學習時,您不必實現機器學習算法。 但是你可以。 這樣做有很好的理由。 例如,這里有三大原因: * 您希望實現以了解算法的工作原理。 * 您無需實現所需的算法。 * 您需要的算法沒有合適的(足夠快的等)實現。 第一個是我最喜歡的。這可能讓你感到困惑。 您可以實現機器學習算法以了解它們的工作原理。我推薦它。開發人員學習這種方式非常有效。 但。 您不必通過實現機器學習算法**啟動**。通過在實現機器學習算法之前學習如何使用機器學習算法,您將更快地建立機器學習的信心和技能。 完成實施所需的實施和任何研究將改善您的理解。在下次使用該算法時,可以幫助您獲得更好的結果。 ## 摘要 在這篇文章中,您發現初學者陷入了從頭開始實現機器學習算法的陷阱。 **他們被告知這是唯一的方法。** 您發現機器學習算法的工程快速而強大的實現是一項艱巨的挑戰。 您了解到在實現它們之前學習如何使用機器學習算法要容易得多,也更為可取。您還了解到,實現算法是了解更多有關它們如何工作以及從中獲取更多信息的好方法,但只有在您知道如何使用它們之后。 **你被困在這個陷阱里嗎?** _在評論中分享您的經驗。_ ### 進一步閱讀 * [程序員在機器學習中開始犯下的錯誤](http://machinelearningmastery.com/mistakes-programmers-make-when-starting-in-machine-learning/) * [從零開始實施機器學習算法](http://machinelearningmastery.com/understand-machine-learning-algorithms-by-implementing-them-from-scratch/) * [從零開始實施機器學習算法的好處](http://machinelearningmastery.com/benefits-of-implementing-machine-learning-algorithms-from-scratch/)
                  <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>

                              哎呀哎呀视频在线观看