<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/machine-learning-for-programmers/](https://machinelearningmastery.com/machine-learning-for-programmers/) ## 從開發人員跳到 機器學習從業者 或者,我對這個問題的回答: ### _ 如何開始機器學習?_ > 我是開發人員。我讀過一本關于機器學習的書或一些帖子。我看過一些 Coursera 機器學習課程。我還是不知道怎么開始...... 這聽起來很熟悉嗎? ![Machine Learning Frustration](img/13ece4eae4e3eed65ff08dc886a5d217.jpg) 對機器學習書籍和課程感到沮喪? 你如何開始機器學習? 攝影: [Peter Alfred Hess](https://www.flickr.com/photos/peterhess/2976755407/) ,保留一些權利 開發人員在我的時事通訊中詢問的最常見問題是: > _ 我如何開始機器學習?_ 老實說我記不清已經回答了多少次。 在這篇文章中,我列出了關于這個主題的所有最好的想法。 * 您將了解為什么傳統的機器學習教學方法不適合您。 * 您將了解如何翻轉整個模型。 * 你會發現我可以用來開始的簡單但非常有效的解毒劑。 我們進入吧...... ## 對機器學習感興趣的開發人員 您是一名開發人員,您對進入機器學習很感興趣。那么為何不?這是目前的一個熱門話題,它是一個迷人而快速發展的領域。 你看過一些博文。你試圖深入,但書籍很糟糕。數學專注。理論重點。算法集中。 ![Machine Learning for Programmers - How Do I Get Started](img/38706a9d5ba22355859d83c7bf2a2fa3.jpg) 聽起來有點熟?您是否嘗試過書籍,MOOC,博客文章,還不知道如何開始機器學習? 你嘗試一些視頻課程。您注冊并誠實地嘗試了經常被引用的 [Coursera Stanford 機器學習 MOOC](https://www.coursera.org/learn/machine-learning) 。它并不比書籍和詳細的博客文章好多少。你無法看到所有的大驚小怪,為什么建議初學者。 您甚至可能嘗試過一些小型數據集,可能是入門級的 Kaggle 競賽。 問題是你無法將書籍和課程中的理論,算法和數學與問題聯系起來。這是一個巨大的差距。海灣。 **你應該如何開始機器學習?** ## 機器學習工程師 當你想到未來時,一旦你掌握了對機器學習這種難以理解的理解,你的工作會是什么樣子?你是如何在日常生活中使用新發現的機器學習技能的? 我想我能看到它。你是一名機器學習工程師。你是一個知道如何“做”機器學習的開發人員。 ![Machine Learning for Programmers - Dream](img/1716f15e7c733f6be44142d8ee955a26.jpg) 您想從開發人員轉變為可以進行機器學習的開發人員嗎? ### 場景 1:一次性模型 你的老板走過去說: > 嘿,你知道機器學習,對嗎?您能否使用去年的客戶數據來預測銷售渠道中的哪些客戶可能轉換?我想在下周的董事會演講中使用它...... 我稱之為一次性模型。 你的老板很好地定義了這個問題。她為您提供了數據,如果必須的話,這些數據足夠小,可以在 MS Excel 中查看和理解。她想要準確可靠的預測。 你可以交付。更重要的是,您可以解釋結果的所有相關警告。 ### 場景 2:嵌入式模型 您和您的團隊正在收集利益相關方對軟件項目的要求。要求用戶能夠在軟件中徒手繪制形狀,并且軟件要確定其形狀,并將其轉換為清晰明確的版本并對其進行適當標記。 您很快就會發現解決此問題的最佳(也是唯一可行的?)方法是設計和訓練預測模型并將其嵌入到您的軟件產品中。 我稱之為嵌入式模型。有變化(例如模型是靜態的還是更新的,以及它是本地的還是通過 API 遠程調用),但這只是細節。 在這種情況下,關鍵在于您有經驗可以注意到最好用預測模型解決的問題以及設計,訓練和部署它的技能。 ### 場景 3:深層模型 您已經開始了新工作,而您正在處理的系統至少由一個預測模型組成。維護和添加功能需要了解模型,輸入和輸出。模型的準確性是軟件產品的一個特征,您的部分工作將是改進它。 例如,作為常規預發布系統測試的一部分,您必須證明模型的準確性(在歷史數據上驗證時)具有與先前版本相同或更好的技能。 我稱之為深層模型。您將需要深入了解一個特定的預測模型,并使用您的經驗和技能來改進和驗證其準確性,作為日常職責的一部分。 ### 開發人員“_ 做 _”機器學習 這些場景讓您了解成為一名知道如何進行機器學習的開發人員的感受。它們是現實的,因為它們都是我所處過的場景或我必須完成的任務的變化。 所有這三種情況都使一件事非常明確。雖然機器學習是一個迷人的領域,但對于開發人員來說,機器學習算法只是另一種技巧,如多線程或三維圖形編程。然而,它們是一組強大的方法,對于特定類別的問題是絕對必需的。 ## 傳統答案:“_ 我該如何開始?_ “ 那么你如何開始機器學習呢? 如果你破解一本關于機器學習的書來尋求這個問題的答案,你會感到震驚。他們從定義開始,繼續進行不斷增加的復雜性的概念和算法的數學描述。 ![Machine Learning for Programmers - The Traditional Approach](img/3d4804faf74416912920d2718801153e.jpg) “如何開始機器學習”這一問題的傳統答案是自下而上的。 定義和數學描述清晰,簡潔且通常是明確的。問題是,它們干燥,乏味,需要必要的數學背景來解析和解釋。 機器學習通常被教授為大學的研究生課程,這是有原因的。這是因為這種“第一原則”教學方式需要多年的理解前提條件。 例如,建議你有一個良好的基礎: * 統計 * 可能性 * 線性代數 * 多變量統計 * 結石 如果你稍微偏離一些更奇特和有趣的算法,這會變得更糟。 這種自下而上和算法固定的機器學習方法是普遍存在的。 在線課程,MOOC 和 YouTube 視頻模仿大學教學機器學習的方法。再次,如果你有背景,或者你已經完成了半年到十年的學習以獲得更高的學位,那么這很好。它對普通開發人員沒有幫助。 如果你躲到像 [Quora](http://www.quora.com/How-do-I-learn-machine-learning-1) , [StackExchange](http://programmers.stackexchange.com/questions/79476/what-skills-are-needed-for-machine-learning-jobs) 或 [Reddit](https://www.reddit.com/r/learnprogramming/comments/3d5ajk/where_to_start_with_machine_learning/) 這樣的問題和答案論壇,并溫順地問如何開始,你會被同樣的回應打耳光。通常這種反應來自同樣失敗的開發人員。這是一個同樣糟糕建議的大回聲室。 難怪誠實和勤奮的開發人員想要做正確的事情,認為他們必須回到學校并獲得碩士或博士學位。在他們覺得有資格“做”機器學習之前。 ## 傳統方法是錯誤的! 想想這種自下而上的方法來教授機器學習一秒鐘。它嚴謹而系統,聽起來就像是表面上的正確理念。怎么會錯? ### 自下而上編程(或者,如何殺死新手程序員) 想象一下,你是一個年輕的開發者。您已經學習了一些這種語言,并開始學習如何創建獨立軟件。 你告訴朋友和家人你想進入一個每天都要開始編程的職業。他們告訴你,你需要先獲得計算機科學學位才能獲得程序員的工作。 您注冊并開始計算機科學學位。學期開學后,你會接觸到越來越多的深奧代數,微積分和離散數學。您使用過時的編程語言。您對編程和構建軟件波動的熱情。 ![Machine Learning for Programmers - Gap in Bottom Up](img/bde9d62e07471463b18a651591ec25c6.jpg) 開始進行機器學習的傳統方法在從業者的道路上存在差距。 也許你以某種方式把它帶到另一邊。回顧過去,您意識到您沒有學過現代軟件開發實踐,語言,工具或您在創建和交付軟件時可以使用的任何東西。 看到機器學習教學的相似之處? 值得慶幸的是,編程已經存在了很長時間,足夠受歡迎并且對于經濟而言非常重要,我們已經找到了其他方法來為初露頭角的年輕(或舊)程序員提供他們實際做他們想要做的事情所需的技能 - 例如創建軟件。 用[可計算性](https://en.wikipedia.org/wiki/Computability_theory)或[計算復雜度](https://en.wikipedia.org/wiki/Computational_complexity_theory)的理論來加載一個萌芽程序員的頭腦是沒有意義的,甚至是算法和數據結構的深層細節。一些有用的材料(后者在算法復雜性和數據結構上)可以在以后出現。也許是有重點的材料 - 但重要的是在已經編程和交付軟件的工程師的背景下,而不是孤立的。 謝天謝地,我們專注于軟件工程學位。我們也有像 [codecademy](https://www.codecademy.com/) 這樣的資源,你可以學習編程......是的,實際編程。 如果一個開發人員想“做”機器學習,他們是否真的不得不花費大量時間和數十或數十萬美元來獲得必要的數學和更高學位? 答案當然不是!有一個更好的辦法。 ## 更好的方法 與計算機科學一樣,您不能只是顛倒模型并自上而下地教授相同的材料。 原因在于,就像計算機科學課程從未涉及到涵蓋開發和交付軟件的實際問題的科目,機器學習課程和書籍都很短。他們停在算法上。 您需要一種自上而下的機器學習方法。一種方法,您可以專注于您想要的實際結果:使用現代和“_ 最佳 _”工具和平臺從端到端工作真正的機器學習問題。 ![Machine Learning for Programmers - A Better Approach](img/3cf413c8473531f22e5e8c6fc486f4a7.jpg) 學習機器學習的更好方法,從端到端的工作機器學習問題開始。 這就是我認為你的黃磚路看起來像。 ### 1.系統過程的可重復結果 一旦你知道了一些工具,用機器學習算法來解決問題并稱之為“_ 完成 _”相對容易。 這可能很危險。 你怎么知道你做完了?你怎么知道結果有什么好處?您如何知道數據集上的結果是否可靠? 在處理機器學習問題時,您需要系統化。這是一個項目,就像一個軟件項目,良好的流程可以實現從項目到項目的可重復的高質量結果。 考慮這樣一個過程,您可以考慮一些明確的要求,例如: * 指導您從端到端,從問題規范到結果的呈現或部署的過程。就像一個軟件項目,你可以認為你已經完成了,但你可能不是。從一開始就考慮到最終可交付成果設定了明確的項目停止條件并集中精力。 * 一步一步的過程,以便您始終知道下一步該做什么。不知道下一步該做什么是一個項目殺手。 * 保證“_ 良好 _”結果的過程,例如優于平均水平或足以滿足項目需求。項目需要以已知的置信水平可靠地提供良好的結果是非常常見的,不一定是可能的最佳精度。 * 一個對特定工具,編程語言和算法時尚不變的過程。工具來去匆匆,過程必須是自適應的。考慮到該領域的算法癡迷,學術界總會出現新的強大算法。 ![Machine Learning for Programmers - Select a Systematic Process](img/013ddf5e4f3158bbd6eaf42bc199a76d.jpg) 選擇一個系統且可重復的流程,您可以使用該流程始終如一地提供結果。 有很多很棒的流程,包括一些可以適應您需求的舊流程。 例如: * [數據庫中的知識發現](http://machinelearningmastery.com/what-is-data-mining-and-kdd/)(KDD),我在這里改編的[](http://machinelearningmastery.com/process-for-working-through-machine-learning-problems/) * [CRISP-DM](https://en.wikipedia.org/wiki/Cross_Industry_Standard_Process_for_Data_Mining) * [OSEMN](http://machinelearningmastery.com/how-to-work-through-a-problem-like-a-data-scientist/) * 其他… 選擇或調整最適合您的流程并滿足上述要求。 ### 2.將“_ 最佳品種 _”工具映射到您的過程中 機器學習工具和庫來來往往,但在任何單一時間點,您都必須使用最佳映射到您選擇的交付結果的過程。 您不想評估和選擇任何舊算法或庫,您希望所謂的“_ 最佳 _”能夠為您提供快速,可靠和高質量的結果并自動化您可以負擔得起的流程 同樣,您將不得不自己做出這些選擇。如果你問任何人,你會聽到他們的偏見,通常是他們正在使用的最新工具。 我有自己的偏見,我喜歡使用不同的工具和平臺來完成不同類型的工作。 例如,在上面列出的場景中,我會建議以下最好的工具: * **一次性預測模型**: [Weka 平臺](http://machinelearningmastery.com/how-to-run-your-first-classifier-in-weka/),因為我可以加載 CSV,設計實驗并在沒有編程的情況下立即獲得最佳模型( []看到我對過程的映射](http://machinelearningmastery.com/template-for-working-through-machine-learning-problems-in-weka/))。 * **嵌入式預測模型**:Python 與 [scikit-learn](http://machinelearningmastery.com/a-gentle-introduction-to-scikit-learn-a-python-machine-learning-library/) ,因為我可以用它所部署的同一語言開發模型。 IPython 是向更廣泛的團隊展示您的管道和結果的好方法。 MLaaS 也是更大數據的選擇。 * **深潛模型**: [R](http://machinelearningmastery.com/how-to-get-started-with-machine-learning-algorithms-in-r/) 與[插入符號](http://machinelearningmastery.com/caret-r-package-for-applied-predictive-modeling/),因為我可以快速自動地嘗試很多最先進的模型并設計更多使用整個 R 平臺進行更精細的特征選擇,特征工程和算法調整實驗。 實際上,根據情況的具體情況,這三種工具會在三種情況下流失。 ![Machine Learning for Programmers - Select Tools](img/e8ee3b384634f311cc805035a204e77b.jpg) 將您首選的機器學習工具映射到您選擇的系統過程,以解決問題。 與開發一樣,您需要研究工具以從中獲得最大收益。您還需要將耳朵貼近地面,并在可用時跳轉到更新的更好的工具,永遠適應您的可重復過程。 ### 3.針對半正式工作產品的實踐 通過練習 - 通過開發大量軟件,您可以擅長開發。使用這種熟悉的方法來獲得機器學習。您在每個項目中練習的過程越多越好(理想情況下,端到端的工作問題)。 #### 仔細選擇您的練習數據集 您想要選擇現實而非人為的數據集。有數百個免費數據集,其復雜性不斷增加。 * 我建議從 [UCI 機器學習庫](http://machinelearningmastery.com/practice-machine-learning-with-small-in-memory-datasets-from-the-uci-machine-learning-repository/)等地方的小型內存數據集開始。它們眾所周知,相對干凈,是您感受新工藝和工具的好地方。 * 從那里,我會推薦更大的內存數據集,比如來自某些 [Kaggle](https://www.kaggle.com/) 和 [KDD 杯](http://www.sigkdd.org/kddcup/index.php)比賽的數據集。它們更臟一些,需要你在更多不同的技能上進行工作。 堅持表格數據,這是我建議所有學生。 處理圖像和文本數據本身就是新的和不同的領域(分別是計算機視覺和自然語言處理),需要您學習這些領域的專門方法和工具。如果這些是你想要或需要工作的問題類型,那么最好從那里開始,并且有很多可用的資源。 我將詳細介紹如何在“[練習機器學習與 UCI 機器學習庫](http://machinelearningmastery.com/practice-machine-learning-with-small-in-memory-datasets-from-the-uci-machine-learning-repository/)中的小內存數據集”中進行有針對性的練習。 #### 記錄您的結果并建立公共工作組合 從每個項目中創建并保留半正式結果(我將結果稱為“工作產品”)。我的意思是,將您所做的和您學到的內容寫入某種獨立文檔,以便您可以回顧并利用未來和后續項目的結果。 這類似于為每個編程項目保留一個目錄作為開發人員,并重用以前項目中的代碼和想法。它加速了很多旅程,我強烈推薦它。 保留任何腳本,代碼和生成的圖像,但寫出您的發現也很重要。可以認為它類似于代碼中的注釋。獨立的報道可以是簡單的 PPT 或文本文件,也可以是在 YouTube 上的聚會或視頻中精心制作的演示文稿。 ![Machine Learning for Programmers - Targeted Practice](img/91c15cda983c7981bb761821363eacf9.jpg) 完成并完成離散項目,編寫結果并構建項目組合。 將每個項目保存在公共版本控制存儲庫(如 [GitHub](https://github.com/) )中,以便其他初學者可以向您學習并擴展您的工作。從您的博客,LinkedIn 或任何地方鏈接到項目,并使用公共投資組合來展示您不斷增長的技能和能力。 在我的帖子“[構建機器學習組合:完成小型項目并展示您的技能](http://machinelearningmastery.com/build-a-machine-learning-portfolio/)”中查看有關這一重要想法的更多信息。 公共 GitHub 存儲庫組合正迅速成為實際關注技能和交付成果的公司招聘過程中的簡歷。 ## 是的,這種方法是為開發人員量身定制的 我們上面列出的是一種可以作為開發人員學習,開始并在機器學習方面取得進步的方法。 你很可能對這種方法是否真的適合你有所懷疑。讓我談談你的一些擔憂。 ### 您不需要編寫代碼 您可能是一名 Web 開發人員或類似的人,您不會編寫大量代碼。您可以使用此方法開始并應用機器學習。像 [Weka](http://machinelearningmastery.com/how-to-run-your-first-classifier-in-weka/) 這樣的工具可以輕松地設計機器學習實驗并構建模型而無需任何編程。 編寫代碼可以解鎖更多不同的工具和功能,但這不是必需的,并且不需要先行。 ### 你不需要擅長數學 就像開發中你不需要了解可計算性或 [Big O 符號](https://en.wikipedia.org/wiki/Big_O_notation)編寫代碼并發布有用且可靠的軟件一樣,你可以在沒有背景的情況下端到端地解決機器學習問題在統計學,概率和線性代數中。 重要的是要注意,我們不是從理論開始,但我們不會忽視它。在需要時潛入并提取您需要的方法或算法。事實上,你將無法阻擋自己。原因是,工作機器學習問題令人上癮和消費。為了獲得更好的結果和更準確的預測,您將從您可以找到的任何資源中汲取經驗,學習足夠的知識,為您提供適用于您的問題的智慧。 如果您的目標是掌握理論,那么這種方法就會變慢,效率也會降低。這就是為什么當透過那個鏡頭看時它如此不舒服。從作為開發人員進行機器學習的目標來看,它很有意義。 ### 你不需要更高的學位 這種知識沒有看門人。這一切都可用,你現在可以自己研究它。在開始處理機器學習問題之前,您不需要花費大量時間和金錢來獲得學位。 如果你的心得到了更高的學位,為什么不首先開始研究機器學習問題,并在你完成一小部分已完成項目后的幾周或幾個月內查看一個學位。您將更清楚地了解該領域的范圍和您喜歡的部分。 我確實回過頭來獲得更高的學位。我喜歡做研究,但我喜歡處理真正的問題并提供客戶真正關心的結果。另外,在我開始學位之前,我正在研究機器學習問題,我只是沒有意識到我已經擁有了資源和一條路在我面前。 這是我熱衷于說服像你這樣的開發人員你有你現在需要的東西的原因之一。 ![Machine Learning for Programmers - Limiting Beliefs2](img/810e529baae63a22dbe63ed5f4d355ff.jpg) 很容易找到借口不開始機器學習。 ### 您不需要大數據 開發了機器學習算法,并且可以最好地理解小數據。數據足夠小,您可以在 MS Excel 中查看,加載到內存中并在桌面工作站上完成工作。 大數據!=機器學習。您可以使用大數據構建預測模型,但將此視為您對域的技能集的專業化。我通常建議我的學生在開始機器學習時從小內存數據集開始。 如果大數據機器學習是您想要工作的領域,那么從那里開始。 ### 您不需要桌面超級計算機 確實,像深度學習這樣的一些最先進的算法需要非常強大的萬億核 GPU。它們是強大且令人興奮的算法。它們也是可以解決您可以使用桌面 CPU 計算的較小問題的算法。 在您訪問大型計算機之前,您不需要推遲開始機器學習。 在您購買臺式超級計算機或租用非常大的 [EC2 實例](https://aws.amazon.com/)之前,花一些時間學習如何在更小的更好理解的數據集上充分利用這些算法可能是值得的。 ### 你不需要很多時間 我們都有忙碌的生活,但如果你真的想要一些你需要投入的時間。 我以前說過,工作機器學習問題讓人上癮。如果你陷入機器學習競賽,你會很樂意犧牲一個月的晚間電視來從你的算法中擠出幾個百分點。 話雖這么說,如果你從一個清晰的過程和一流的工具開始,你可以在一兩個小時內完成一個端到端的數據集,可能會分散一兩個晚上。其中一些和您在已完成的機器學習項目組合中有一個灘頭陣地,您可以開始利用更大和更有趣的問題。 將其分解為 Kanban 板上的零食大小任務,并留出時間開始。 ## 開發人員犯下的最大錯誤以及如何避免它們 自從我推出機器學習掌握以來,我已經提供了近兩年的建議。在那段時間里,我看到了五個我希望你避免的常見陷阱。 1. **沒有采取行動**:這一切都已經布局,但我看到很多開發者沒有采取行動。觀看電視或閱讀新聞要比在迷人的研究領域建立新的有價值的技能容易得多。你可以帶馬到水...... 2. **挑選太大的問題**:我經常看到開發人員選擇處理太難的第一個或第二個數據集。它太大,太復雜或太臟,而且還沒有為迎接挑戰做好準備。可怕的是,“失敗”會扼殺動機,而開發人員也會離開這個過程。選擇你可以完成并在 60 分鐘內寫完的小問題。在你采取更大的事情之前做一段時間。 3. **從頭開始實現算法**:我們有算法實現。完成。至少做得足以讓你在接下來的幾年做有趣的事情。如果您的目標是學習如何開發和提供可靠和準確的預測模型,那么不要花時間從頭開始實現算法,使用庫。另一方面,如果你想專注于實現算法,那么明確地將它作為你的目標并專注于它。 4. **不堅持流程**:與敏捷軟件開發一樣,如果您偏離流程,輪子可能會很快脫離您的項目,結果往往是一團糟。從頭到尾堅持從頭到尾系統地解決問題的過程是關鍵。您可以重溫“_ 您發現的那個有趣的東西......_ ”作為后續迷你項目(后續工作的 _ 想法 _“在你的寫作中),但是完成流程并交付。 5. **不使用資源**:有許多關于機器學習的優秀論文,書籍和博客文章。您可以利用這些資源來改進流程,工具的使用和結果的準確性。使用第三方資源從算法和數據集中獲取更多信息。獲取有關問題的算法和框架的想法。智慧的金塊可以改變你的項目進程。請記住,如果采用自上而下的過程,理論必須在后端進行。花點時間了解您的最終模型。 不要讓任何這些事發生在你身上! ## 你的下一步 我們已經涵蓋了很多方面,我希望我開始說服你,你可以開始并在機器學習方面取得進步。您是一名可以進行機器學習的開發人員的未來是非常真實且非常可獲得的。 您接下來的步驟是: 1. 選擇一個過程([或只使用此過程](http://machinelearningmastery.com/process-for-working-through-machine-learning-problems/))。 2. 選擇一個工具或平臺([或只使用這個](http://machinelearningmastery.com/how-to-run-your-first-classifier-in-weka/))。 3. 選擇你的第一個數據集([或只使用這個](https://archive.ics.uci.edu/ml/datasets/Iris))。 4. 在下面的評論中報告并執行! 嘿,你覺得這篇文章有用嗎?發表評論! **更新**:查看這個方便的思維導圖,總結了這篇文章中的重要概念(感謝 Simeon 的建議!)。 [![Machine Learning For Programmers Mind Map](img/4632f7778162d6c7347a340df3673d84.jpg)](https://3qeqpr26caki16dnhd19sv6by6v-wpengine.netdna-ssl.com/wp-content/uploads/2015/08/Machine-Learning-For-Programmers-Mind-Map.png) 手繪思維導圖,總結了本文中的重要概念。 [點擊圖片放大]
                  <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>

                              哎呀哎呀视频在线观看