天天看點

關于機器學習你必須了解的十個真相

作為一個經常向非專業人士解釋機器學習的人,我整理了以下十點内容作為對機器學習的一些解釋說明。

除非你有大量的資料,否則你應該堅持使用簡單的模型。機器學習根據資料中的模式來訓練模型,探索由參數定義的可能模型的空間。如果參數空間太大,就會對訓練資料過度拟合,并訓練出一個不能使自己一般化的模型。如果要對此做詳細解釋的話,需要進行更多的數學計算,而你應該把這一點當作為一個準則,讓你的模型盡可能得簡單。

機器學習隻有在訓練資料具有代表性的前提下才會起作用。正如基金招股說明書警告的那樣“過去的表現不能保證未來的結果”。機器學習也應該發一個類似的警告申明:它僅能基于與訓練資料相同分布的資料才能工作。是以,需警惕訓練資料和生産資料之間的偏差,并經常性地重複訓練模型,這樣才能保證其不會過時。

機器學習大部分的工作是資料轉換。在機器學習技術天花亂墜的宣傳下,你可能會認為機器學習所做的主要是選擇和調整算法。但現實卻是平淡無奇的:你大部分的時間和精力都将花在資料清理和特征工程上,也就是将原始特征轉換為能更好地代表資料信号的特征。

深度學習是一場革命性的進步,但并不是靈丹妙藥。由于機器學習在很多領域都得到了應用與發展,是以深度學習也被宣傳得天花亂墜。此外,深度學習促使一些傳統上通過特征工程進行的工作變得自動化,特别是對于圖像和視訊資料。但深度學習并不是靈丹妙藥。沒有現成的可以讓你使用,你仍然需要投入大量的精力去清理和轉換資料。

機器學習系統很容易受到操作員錯誤的影響。向nra道歉,“機器學習算法不會殺人,是人在殺人”。當機器學習系統出現故障時,很少是因為機器學習算法存在問題。更有可能的情況是人為的錯誤被引入了到訓練資料中,進而産生偏差或其他的系統錯誤。我們應始終持懷疑的态度,并采用适用于軟體工程學的方式來對待機器學習。

機器學習涉及到的内容遠遠超過我上面提到的十點說明。希望這些介紹性的内容對非專業人士有用。

文章原标題《10 things everyone should know about machine learning》,作者:daniel tunkelang,譯者:夏天,審校:主題曲。

繼續閱讀