<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國際加速解決方案。 廣告
                # 在沒有數學背景的情況下理解機器學習算法的5種技術 > 原文: [https://machinelearningmastery.com/techniques-to-understand-machine-learning-algorithms-without-the-background-in-mathematics/](https://machinelearningmastery.com/techniques-to-understand-machine-learning-algorithms-without-the-background-in-mathematics/) 理論在哪里適合自上而下研究機器學習的方法? 在傳統的機器學習教學方法中,理論首先需要廣泛的數學背景才能理解它。在我教授機器學習的方法中,我首先教你如何端到端地解決問題并提供結果。 理論在哪里適合? 在這篇文章中,您將發現我們在機器學習中談論“理論”時的真正含義。提示:這都是關于算法的。 您將發現,一旦您熟練地解決問題并提供結果,您就會發展出更深層次的潛力,以便更好地理解和獲得結果。 **沒有人能夠阻止你**。 最后,您將發現在標準數據集上練習機器學習時可以使用的5種技術,以逐步增加對機器學習算法的理解。 ![Machine Learning Theory](img/2e4c99ffd64d88b21f94efb8ca444970.jpg) 如何在沒有數學的情況下學習機器學習 照片由 [Ed Brambley](https://www.flickr.com/photos/edbrambley/4260498576/) ,保留一些權利 ## 最后學習理論,而不是第一 向開發人員講授機器學習的方式就是廢話。 它是自下而上的。如果您是一名主要關注機器學習作為解決問題的工具而不是該領域的研究人員的開發人員,那么這就是廢話。 傳統方法要求您在學習算法理論之前先學習所有必備數學,如線性代數,概率和統計學。如果您接近算法的工作實現或討論如何端到端地解決問題并提供可靠,可靠和準確的預測模型,那么您很幸運。 我教自上而下學習機器學習的方法。在這種方法中,我們首先從1)學習系統化的過程來解決端到端的問題,2)將過程映射到“最佳”機器學習工具和平臺,然后3)完成測試數據集的有針對性的實踐。 您可以在“[程序員機器學習:從開發人員到機器學習從業者](http://machinelearningmastery.com/machine-learning-for-programmers/)”的帖子中了解更多關于自上而下機器學習教學的方法。 那么理論在哪里適合這個過程呢? 如果翻轉模型,則稍后會教授理論。但是,我們在談論什么理論,以及當您在測試數據集上練習時,您究竟如何學習該理論? ## 獲取免費算法思維導圖 ![Machine Learning Algorithms Mind Map](img/2ce1275c2a1cac30a9f4eea6edd42d61.jpg) 方便的機器學習算法思維導圖的樣本。 我已經創建了一個由類型組織的60多種算法的方便思維導圖。 下載,打印并使用它。 ## 理論真的是關于算法的 機器學習領域是理論密集的。 它很密集,因為有一種傳統來用數學方法描述和解釋概念。 這很有用,因為數學描述可以非常簡潔,減少模糊性。它們還通過利用來自描述它們的上下文中的技術(例如對過程的概率理解)來進行分析。 許多這些切向數學技術通常與機器學習算法的描述捆綁在一起。對于那些只想建立一種能夠配置和應用它的方法的膚淺理解的人來說,這感覺勢不可擋。令人沮喪的是。 如果您沒有能夠解析和理解算法描述的基礎,那將是令人沮喪的。這是令人沮喪的,因為來自計算機科學這樣的領域,算法一直被描述,但不同之處在于描述旨在快速理解(例如[桌面檢查](https://en.wikipedia.org/wiki/Informal_Methods_(Validation_and_Verification)#Desk_checking))和實現。 我們知道,例如在學習[哈希表](https://en.wikipedia.org/wiki/Hash_table)是什么以及如何使用它時,我們幾乎不需要知道我們日常工作中哈希函數的細節。但我們也知道散列函數是什么以及去哪里了解有關散列函數細節以及如何編寫自己的函數的更多信息。為什么機器學習不能這樣? 在機器學習中遇到的大部分“理論”與機器學習算法有關。如果你問任何初學者他們為什么對理論感到沮喪,你會發現它與學習如何理解或使用特定的機器學習算法有關。 這里,算法比創建預測模型的過程更廣泛。它還涉及用于選擇特征,設計新特征,轉換數據和估計模型對未見數據的準確性(例如交叉驗證)的算法。 因此,學習理論最后,真正意味著學習機器學習算法。 ## 強迫潛入理論 我通常建議在著名的機器學習數據集上進行有針對性的練習。 這是因為眾所周知的機器學習數據集,如UCI機器學習庫中的那些,很容易使用。它們很小,因此適合內存,可以在工作站上處理。它們也經過充分研究和理解,因此您可以進行比較基線。 您可以在“[練習機器學習與UCI機器學習庫](http://machinelearningmastery.com/practice-machine-learning-with-small-in-memory-datasets-from-the-uci-machine-learning-repository/)中的小型內存數據集”中了解有關機器學習數據集的目標實踐的更多信息。 理解機器學習算法適合這個過程。原因是為了在標準機器學習算法上獲得結果,您將遇到限制。您將想要了解如何從給定算法中獲得更多信息,或者了解有關如何最佳配置算法或如何實際工作的更多信息。 這需要了解更多和好奇心將促使您研究機器學習算法的理論。您將被迫拼湊對算法的理解,以獲得更好的結果。 我們在不同背景的年輕開發人員中看到同樣的效果,最終最終研究開源項目,教科書甚至研究論文的代碼,以便磨練他們的技藝。成為一個更有能力的程序員的需要驅使他們去做。 如果你很好奇并且有動力去取得成功,你就無法抗拒研究這一理論。 ## 5了解機器學習算法的技巧 作為您的目標實踐的一部分,現在是時候深入了解機器學習算法 當那個時候到來時,您可以使用許多技術和模板來縮短流程。 在本節中,您將發現5種可用于快速理解機器學習算法理論的技術。 ### 1)創建機器學習算法列表 當您剛剛開始時,您可能會對可用的大量算法感到不知所措。 即使在現場測試算法中,您可能不確定要在混合中包含哪些算法(提示,多樣化)。 開始時可以使用的一個很好的技巧是跟蹤您閱讀的算法。這些列表可以像算法的名稱一樣簡單,并且隨著您的興趣和好奇心的構建,可以增加復雜性。 捕獲詳細信息,例如它們適合的問題類型(分類或回歸),相關算法和分類類(決策樹,內核等)。當您看到新的算法名稱時,請將其添加到列表中。當您開始出現新問題時,請嘗試以前從未使用過的算法。在您之前使用的算法旁邊標記一個檢查。等等。 控制列表中算法的名稱可以為您提供強大的功能。這種荒謬簡單的策略可以幫助你擺脫壓倒性的壓力。您的簡單算法列表可以為您節省大量時間和挫折的示例如下: * 嘗試新的和不同的問題類型(時間序列,評級系統等)的算法的想法 * 您可以調查的算法,以了解有關如何應用的更多信息。 * 按類別(樹,內核等)處理算法類型。 * 避免固定最喜歡的算法的問題。 首先創建算法列表,打開電子表格并開始使用。 有關此策略的更多信息,請參閱文章“[通過創建機器學習算法的目標列表](http://machinelearningmastery.com/create-lists-of-machine-learning-algorithms/)獲取控制權”。 ### 2)研究機器學習算法 當您想要了解有關機器學習算法的更多信息時,您需要對其進行研究。 您有興趣研究算法的主要原因是學習如何配置它并了解它是如何工作的。 研究不僅僅適用于學術界。一些簡單的提示可以幫助您收集有關給定機器學習算法的信息。 關鍵是信息來源的多樣性。以下是您可以參考的源類型的簡短列表,以獲取有關您正在研究的算法的信息。 1. 權威資料,如教科書,講義,幻燈片和概述文件。 2. 精算資料來源,例如首次描述算法的論文和文章。 3. 最先進的資源,描述了算法的最新擴展和實驗。 4. 啟發式消息來源,如機器學習競賽,Q&amp; A網站和會議論文的帖子。 5. 實施源,例如工具和庫的開源代碼,博客文章和技術報告。 您不需要成為博士研究員也不需要是機器學習算法專家。 花點時間挑選許多來源,收集您想要弄清楚的機器學習算法的事實。專注于您可以應用或理解的實際細節,剩下的就是其余部分。 有關研究機器學習算法的更多信息,請參閱“[如何研究機器學習算法](http://machinelearningmastery.com/how-to-research-a-machine-learning-algorithm/)”。 ### 3)創建自己的算法描述 您將在研究中發現的機器學習算法描述將是不完整和不一致的。 您可以使用的方法是將您自己的迷你算法描述放在一起。這是另一種非常簡單且非常強大的策略。 您可以設計一個標準算法描述模板,其中只包含那些對于從算法中獲得最大收益的細節,如算法使用啟發式算法,偽代碼列表,參數范圍和資源列表。 然后,您可以在多個關鍵算法中使用相同的算法描述模板,并開始構建您自己的小算法百科全書,您可以參考未來的項目。 您可能希望在自己的算法描述模板中使用的一些問題包括: * 算法使用的標準縮寫是什么? * 算法的目標或目標是什么? * 算法的偽代碼或流程圖描述是什么? * 使用該算法的啟發式或經驗法則是什么? * 有關該算法的更多信息,有哪些有用的資源? 您會驚訝于這些描述的實用性和實用性。例如,我用這種方法寫了一本自然啟發的算法描述的書,我仍然會在幾年后再提到。 有關如何創建有效算法描述模板的更多信息,請參閱文章“[如何學習機器學習算法](http://machinelearningmastery.com/how-to-learn-a-machine-learning-algorithm/)”。 有關使用標準算法描述模板描述的算法書的更多信息,請參閱“[聰明算法:自然啟發的編程秘籍](http://cleveralgorithms.com/nature-inspired/index.html)”。 ### 4)調查算法行為 機器學習算法是復雜的系統,有時最好通過它們在實際數據集上的行為來理解。 通過使用小型數據集設計機器學習算法的小型實驗,您可以了解很多關于算法如何工作的信息,它的局限性以及如何以可能轉移到其他問題的特殊結果的方式對其進行配置。 可用于研究機器學習算法的簡單過程如下: 1. 選擇您想要了解更多信息的算法(例如隨機森林)。 2. 確定有關您想要回答的算法的問題(例如,樹木數量的影響)。 3. 設計一個實驗來找到該問題的答案(例如,在一些二元分類問題上嘗試不同數量的樹,并繪制與分類準確性的關系圖)。 4. 執行實驗并記錄結果,以便將來可以使用它們。 5. 重復這個過程。 這是應用機器學習的真正令人興奮的方面之一,通過您自己的簡單調查,您可以獲得驚人的和最先進的結果。 有關如何根據行為研究算法的更多信息,請參閱“[如何調查機器學習算法行為](http://machinelearningmastery.com/how-to-investigate-machine-learning-algorithm-behavior/)”。 ### 5)實現機器學習算法 使用機器學習算法比使用機器學習算法更加貼心。 在從零開始實現機器學習算法時,您將面臨進入給定實現的無數微決策。您可以決定用一些經驗法則覆蓋一些將其全部作為參數暴露給用戶。 下面是一個可重復的過程,您可以使用它從頭開始實現機器學習算法。 1. 選擇一種您最熟悉的編程語言可能是最好的。 2. 選擇要實現的算法,從容易的事情開始(參見下面的列表)。 3. 在開發時選擇一個問題來測試您的實現,2D數據有利于可視化(甚至在Excel中)。 4. 研究算法并利用許多不同的信息來源(例如閱讀教程,論文,其他實現等)。 5. 單元測試算法以確認您的理解并驗證實施。 從小處著手,建立信心。 例如,您從頭開始選擇的第一個機器學習算法實現的3種算法是: * 使用梯度下降的線性回歸 * k-最近鄰([參見Python中的教程](http://machinelearningmastery.com/tutorial-to-implement-k-nearest-neighbors-in-python-from-scratch/)) * Naive Bayes([參見我的Python教程](http://machinelearningmastery.com/naive-bayes-classifier-scratch-python/)) 有關如何實現機器學習算法的更多信息,請參閱“[如何實現機器學習算法](http://machinelearningmastery.com/how-to-implement-a-machine-learning-algorithm/)”。 另見帖子: * “[從零開始實施機器學習算法的好處](http://machinelearningmastery.com/benefits-of-implementing-machine-learning-algorithms-from-scratch/)” * “[在實現機器學習算法時不要從開源代碼開始](http://machinelearningmastery.com/dont-start-with-open-source-code-when-implementing-machine-learning-algorithms/)” ## 理論不僅僅適用于數學家 機器學習不僅適用于數學精英。您可以了解機器學習算法的工作原理以及如何在不深入了解多變量統計數據的情況下充分利用它們。 **你不需要擅長數學。** 正如我們在技術部分中看到的,您可以從算法列表開始,并深入過渡到算法研究,描述和算法行為。 你可以使用這些方法走得很遠,而不需要在數學上潛水很多。 **你不需要成為一名學術研究員。** 研究不僅僅適用于學術界。任何人都可以閱讀書籍和論文,并編寫自己對某個主題的理解,如特定的機器學習算法。 當你扮演“_科學家_”的角色時,你將獲得最大的突破,并開始嘗試機器學習算法,好像它們是需要學習的復雜系統一樣。您將發現行為中可能無法記錄的各種有趣的怪癖。 ## 采取行動 選擇上面列出的技術之一并開始使用。 我的意思是今天,現在。 **不確定從哪里開始?** 以下是您可以從哪里開始的5個好主意: 1. 列出10種用于分類的機器算法(看看我的[算法之旅](http://machinelearningmastery.com/a-tour-of-machine-learning-algorithms/)來獲得一些想法)。 2. 找五本書,詳細描述隨機森林。 3. 使用您自己的算法描述模板在Naive Bayes上創建五張幻燈片演示文稿。 4. 打開 [Weka](http://machinelearningmastery.com/how-to-run-your-first-classifier-in-weka/) 并查看“k”參數如何影響虹膜花數據集上k-最近鄰居的準確性。 5. 使用隨機梯度下降實現線性回歸。 你有沒有采取行動?喜歡這篇文章?在下面發表評論。
                  <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>

                              哎呀哎呀视频在线观看