以研發人員的身份親身經歷了PC互聯網和移動互聯網的兩段發展過程,如今面臨新的一波AI浪潮時,雖然身份已經成爲再也不親自從事技術工做的企業管理者。但正如曾經經歷過互聯網對各個行業/企業的顛覆/賦能,AI重塑行業/企業也必定是大勢所趨,對於不少非技術出身或者對技術不敏感的企業管理者,AI/機器學習只是意味着一個名詞,一種你們都追逐的趨勢,一種對企業的包裝方式......。但對於一個仍然熱愛技術的人,深刻了解的價值在於再也不是如何包裝企業/產品與AI結合,而是從業務場景的解析、業務場景的抽象、數據的收集、算法的選擇......這些落地的環節將企業業務和AI進行結合,造成競爭中的先發優點。算法
在此以前已經看了不少AI相關的書籍和資料,參差不齊,算是填鴨式教育階段。各類歷史、概念充斥在腦海中,有種雲裏霧裏的感受。可是這種填鴨式教育也有好處,就是當遇到一些優秀的書籍或文章時,可以利用其明瞭的層次結構將這些散亂的知識進行梳理、關聯。好比知曉了人工智能的歷史發展脈絡,符號主義、鏈接主義、行爲主義,知道了機器學習只是人工智能的一種核心技術,而深度學習又是機器學習的子集,神經網絡是實現深度學習的基礎模型,圖像識別、語音識別、天然語言處理是深度學習的應用.....由於如今機器學習幾乎成了AI的代名詞(核心),因此就成爲了你們重點的學習領域,本身學習的過程當中也是先飽和式攝取,再精細化攫取,因此想根據本身的學習歷程給你們一個學習推薦。編程
《Scikit-Learn與TensorFlow機器學習實用指南(影印版)》書中第一章就讓本身對機器學習又有了清晰系統化的理解。其餘章節的深刻和案例及代碼也很是棒,具有實踐性和可執行性。網絡
《吳恩達機器學課程》,很是出名的機器學習入門課程,再也不安利。正在學習中.......app
《智能時代》2016年出版的書籍,那時人工智能處於萌芽期,準備追逐這波浪潮。因此記住了書中的一段話:"這是最好的時代,也是最壞的時代。是要順勢而上,仍是逆勢而下,在於咱們本身的選擇。"框架
《人工智能革命》 感受還不錯的一本人工智能歷史、技術、人物科普書籍,雖然被評價講的很淺,但每本書應該都有本身的定位吧——科普書籍。同時從這本書中瞭解到了一部很棒的英劇《黑鏡》,追了幾季,算是意外所得吧。^_^機器學習
《科學的極致:漫談人工智能》也是一本科普書籍,可是給個人感受本書體現的是哲科思惟,比較難懂。ide
《集體智慧編程》 15年出版,豆瓣評分在8.9的高分,可是閱讀者寥寥。我以爲在AI和大數據大熱的時代,一個晦澀的書名就會讓你們錯失一本優秀的書籍,想對「機器學習」與「計算統計」進行了解和實踐的朋友推薦閱讀,其中的應用場景很貼近生活(好比商品偏好推薦、房價預測,約會匹配、金融場景……),書中所附代碼也是能夠執行的……,只是理解此書中所附知識點估計還需閱讀實踐多遍,並進行大量拓展學習( ̄(●●) ̄)函數
《人工智能導論》 相似於教科書的學術書籍,比較中規中矩,涵蓋面普遍,適合作人工智能學習入門引導。性能
《裂變:秒懂人工智能的基礎課》書的組織和脈絡較好, 如學習人工智能須要掌握哪些數學基礎;目前最火熱的機器學習,人工神經網絡,深度學習又是怎樣的;神經網絡實例;深度學習以外的人工智能有哪些,機器學習並非人工智能的所有;人工智能的應用場景。這種層層遞進的講解脈絡讓本身對人工智能的框架有了較清晰的認識。另外做者也是上述書籍《人工智能革命》的做者,文筆很好,兼具科技與人文主義。學習
如何定義機器學習?
機器學習是經過編程讓計算機從數據中進行學習的科學(和藝術)。
機器學習是讓計算機具備學習的能力,無需進行明確編程。
計算機程序利用經驗E學習任務T,性能是P,若是針對任務T的性能P,隨着經驗E不斷增加而P也隨之增加,則稱爲機器學習。
機器學習能夠解決什麼問題,請列舉四種?
須要進行大量手工調整或須要擁有長串規則才能解決的問題:機器學習能夠簡化代碼、提升性能。
問題複雜,傳統方法難以解決:使用良好的機器學習技術能夠找到解決方案。
環境有波動:機器學習算法能夠適應新數據。
從複雜問題和大量數據(數據挖掘)中發現非預期的關係/趨勢,帶來更好的處理問題的方式。
什麼是帶標籤的訓練集?
在監督學習中,用來訓練算法的訓練數據包含了答案,稱爲標籤。
請列舉常見的兩種監督學習任務?
分類,如垃圾郵件過濾器就是用許多帶有歸類的郵件樣本進行訓練,過濾器還能對新郵件進行分類;
迴歸(預測目標值),例如給出一些特徵(里程數、車齡、品牌等),來預測一輛汽車的價格。
指出四個常見的非監督任務?
聚類,假設利用博客訪客的大量用戶數據,檢測類似訪客的分組。
可視化和降維,給算法大量複雜且不加標籤的數據,算法輸出數據的2D或3D圖像。
異常檢測,例如檢測異常的信用卡轉帳以防欺詐,檢測製造缺陷,或者在訓練以前自動從訓練數據集去除異常值。
關聯規則學習,挖掘大量數據以發現屬性間有趣的關係。
要是一個機器人能在各類未知地形行走,你會採用什麼機器學習算法?
強化學習:學習系統在這裏被稱爲智能體,能夠對環境進行觀察,選擇和執行動做,得到獎勵(負獎勵是懲罰)。而後它必須本身學習哪一個是最佳方法(策略),以獲得長久的最大獎勵。策略決定了智能體在給定狀況下應該採起的行動。
要對你的顧客進行分組,你會採用哪類算法?
在不知如何定義顧客組的狀況下采用非監督學習的聚類算法;若是你知道你想要什麼類別的用戶組,採用監督學習的分類算法。
垃圾郵件檢測是監督學習問題,仍是非監督學習問題?
監督學習問題
什麼是在線學習系統?
在線學習是用數據持續的進行訓練,能夠一次一個或者一次幾個實例(小批量)。每一個學習步驟都很快且廉價,因此係統能夠動態地學習到達的數據。
什麼是核外學習?
在線學習算法也能夠當機器的內存存不下大量數據時,用來訓練系統(成爲核外學習)。算法加載部分的數據,用這些數據進行訓練,重複這個過程,直到用全部數據都進行了訓練。
什麼學習算法是用類似度作預測?
基於實例學習的機器學習算法使用記憶來學習案例數據。而後使用類似度測量推廣到新的例子。
基於模型學習算法的參數和學習算法的超參數的區別是什麼?
基於模型學習算法有一個或多個模型參數,這些參數決定了它將如何預測給定的新實例(例如,線性模型的斜率)。此學習算法試圖找到這些參數的最優值,這樣模型就能夠很好地推廣到新的實例。學習算法的超參數是是其自己的參數,而不是模型的。
基於模型學習的算法搜尋的是什麼?最成功的策略是什麼?基於模型學習如何預測?
基於模型的學習算法爲模型參數尋找最優值,使模型可以很好地推廣到新的例子中。咱們能夠定義一個實用函數(或擬合函數)用來測量模型是否夠好,或者定義一個代價函數來測量模型有多差。對於線性迴歸問題,人們通常是用代價函數測量線性模型的預測值和訓練樣本的距離差,目標是使距離差最小。
機器學習的四個主要挑戰是什麼?
訓練數據不足。機器學習須要大量的數據,才能讓多數機器學習算法正常工做。即使對於很是簡單的問題,通常也須要數千的樣本,對於複雜的問題,好比圖像或語音識別,你可能須要數百萬的樣本。(也可重複使用部分存在的模型)。
沒有表明性的訓練數據。
低質量的數據。若是訓練集中的錯誤、異常值和噪聲太多,系統檢測出潛在規律的難度就會變大,性能就會下降。
不相關的特徵。避免進來的是垃圾,出去的也是垃圾。
若是模型在訓練集上表現好,但推廣到新實例表現差,問題是什麼?給出三個可能的解決方案?
出現了訓練集的過擬合。過擬合發生在相對少許的訓練數據,噪聲較多,模型過於複雜的狀況。解決方案:
簡化模型,能夠選擇一個參數更少的模型(好比使用線性模型,而不是高階多項式模型)、減小訓練數據的屬性數、或者限制一下模型);
收集更多的訓練數據;
減小訓練數據的噪聲(好比修改數據錯誤和去除異常值)。
什麼是測試集,爲何要用它?
在將算法模型應用在產品中前,使用測試集來進行評估模型推廣偏差率。
驗證集的目的是什麼?
用訓練集和多個超參數訓練多個模型,選擇在驗證集上有最佳性能的模型和超參數。
若是用測試集調節超參數,會發生什麼?
若是在測試集上屢次測量了推廣偏差率,調整了模型和超參數,以使模型最適合這個集合。這意味着模型對新數據的性能不會高。
什麼是交叉驗證,爲何它比驗證集好?
爲了不「浪費」過多訓練數據在驗證集上,一般的辦法是使用交叉驗證:訓練集分紅互補的子集,每一個模型使用不一樣的子集訓練,再用剩下的子集驗證。一旦肯定模型類型和超參數,最終的模型使用這些超參數和所有的訓練集進行訓練,用測試集獲得推廣偏差率。