Hands-on ML 課後習題

chapter 1

  1. 您如何定義機器學習?
    機器學習是一門能夠讓系統從數據中學習的計算機科學。

  2. 機器學習在哪些問題上表現突出,你能提出四種類型嗎?
    機器學習非常利於:不存在已知算法解決方案的複雜問題,需 要大量手動調整或是規則列表超長的問題,創建可以適應環境波動的 系統,以及幫助人類學習(比如數據挖掘)。

  3. 什麼是被標記的訓練數據集?
    被標記的訓練集是指包含每個實例所期望的解決方案的訓練集。

  4. 最常見的兩種監督式學習任務是什麼?
    迴歸和分類

  5. 你能舉出四種常見的無監督式學習任務嗎?
    聚類、可視化、降維和關聯規則學

  6. 要讓一個機器人在各種未知的地形中行走,你會使用什麼類型的機器學習算法?
    如果想讓機器人學會如何在各種未知地形上行走,強化學習可能表現最好,因爲這正是一個典型的強化學習擅長解決的問題。將這個問題表達爲監督式或半監督式學習問題也可以,但還是有點不太自 然。

  7. 要將顧客分成多個組,你會使用什麼類型的算法?
    如果你不知道如何定義分組,那麼可以使用聚類算法(無監督 式學習)將相似的顧客分爲一組。但是,如果你知道想要的是什麼樣 的羣組,那麼可以將每個組的多個示例反饋給分類算法(監督式學習),它就可以將所有的顧客歸類到這些組中。

  8. 你會將垃圾郵件檢測的問題列爲監督式學習還是無監督式學
    習?
    垃圾郵件檢測是個典型的監督式學習問題:將郵件和它們的標 籤(垃圾郵件或非垃圾郵件)一起提供給算法。

  9. 什麼是在線學習系統?
    在線學習系統可以進行增量學習,與批量學習系統正好相反。這使得它能夠快速適應不斷變化的數據和自動化系統,並且能夠在大 量的數據上進行訓練。

  10. 什麼是核外學習?
    核外算法可以處理計算機主內存無法應對的大量數據。它將 數據分割成小批量,然後使用在線學習技術從這些小批量中學習。

  11. 什麼類型的學習算法依賴相似度來做出預測?
    基於實例的學習系統通過死記硬背來學習訓練數據,當給定 一個新實例時,它會使用相似度度量來找到與之最相似的實例,並用 它們進行預測。

  12. 模型參數與學習算法的超參數之間有什麼區別?
    模型有一個或多個參數,這些參數決定了模型對新的給定實 例會做出怎樣的預測(比如,線性模型的斜率)。學習算法試圖找到 這些參數的最佳值,使得該模型能夠很好地泛化至新實例。超參數是 學習算法本身的參數,不是模型的參數(比如,要應用的正則化數 量)。

  13. 基於模型的學習算法搜索的是什麼?它們最常使用的策略是什麼?它們如何做出預測?
    基於模型的學習算法搜索使模型泛化最佳的模型參數值。通 常通過使成本函數最小化來訓練這樣的系統,成本函數衡量的是系統 對訓練數據的預測有多壞,如果模型有正則化,則再加上一個對模型 複雜度的懲罰。學習算法最後找到的參數值就是最終得到的預測函 數,只需要將實例特徵提供給這個預測函數即可進行預測。

  14. 你能提出機器學習中的四個主要挑戰嗎?
    機器學習面臨的一些主要挑戰是:數據缺乏、數據質量差、 數據不具代表性、特徵不具信息量、模型過於簡單對訓練數據擬合不 足,以及模型過於複雜對訓練數據過度擬合。

  15. 如果你的模型在訓練數據上表現很好,但是應用到新的實例 上的泛化結果卻很糟糕,是怎麼回事?能提出三種可能的解決方案 嗎?
    如果模型在訓練數據上表現很好,但是對新實例的泛化能力 很差,那麼該模型很可能過度擬合訓練數據(或者在訓練數據上運氣 太好)。可能的解決方案是:獲取更多數據,簡化模型(選擇更簡單 的算法、減少使用的參數或特徵數量、對模型正則化),或者是減少 訓練數據中的噪聲。

  16. 什麼是測試集,爲什麼要使用測試集?
    在模型啓動至生產環境之前,使用測試集來估算模型在新實 例上的泛化誤差。

  17. 驗證集的目的是什麼?
    驗證集用來比較不同模型。它可以用來選擇最佳模型和調整 超參數。

  18. 如果使用測試集調整超參數會出現什麼問題?
    如果使用測試集來調整超參數,會有過度擬合測試集的風 險,最後測量的泛化誤差會過於樂觀(最後啓動的模型性能比預期的 要差)。

  19. 什麼是交叉驗證?它爲什麼比驗證集更好?
    通過交叉驗證技術,可以不需要單獨的驗證集實現模型比較 (用於模型選擇和調整超參數)。這節省了寶貴的訓練數據。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章