live簡介
誰適合本課程?
如果你想成為數(shù)據(jù)分析誉结、大數(shù)據(jù)、機器學習券躁、人工智能領(lǐng)域的稀缺人才惩坑,零基礎(chǔ)即可加入。你將從本次課程中學到什么也拜?
第一部分:機器學習入門
- 用最通俗易懂的話聊聊以舒,什么是機器學習?
- 機器學習的步驟是什么慢哈?
- Python機器學習包sklearn如何學習蔓钟?
第二部分:簡單線性回歸
- 如何通俗易懂地理解“協(xié)方差”與“相關(guān)系數(shù)”的概念?
- 機器學習算法:簡單線性回歸是什么卵贱?
- 如何評估線性回歸模型滥沫?
- 如何理解相關(guān)關(guān)系與因果關(guān)系
- 你將挑戰(zhàn)的實戰(zhàn)項目:如何通過“學習時間”預測“考試成績”侣集?
內(nèi)容大綱
- 什么是機器學習?
- 機器學習的步驟是什么兰绣?
- 什么是特征和標簽世分?
- Python機器學習包sklearn如何學習?
- 練習:機器學習包sklearn安裝
- 什么是“協(xié)方差”與“相關(guān)系數(shù)”缀辩?
- 相關(guān)系數(shù)-Python實現(xiàn)
- 練習:通過游戲理解相關(guān)系數(shù)
- 簡單線性回歸是什么臭埋?
- 簡單線性回歸-Python實現(xiàn)
- 線性回歸模型評估:決定系數(shù)R平方
- 如何理解相關(guān)關(guān)系與因果關(guān)系?
- 項目:如何通過“學習時間”預測“考試成績”雌澄?
1斋泄、什么是機器學習?
豆瓣是如何知道用戶的喜好镐牺,這些推薦背后的秘密是什么呢炫掐?
我們生活中有很多像豆瓣這樣的推薦系統(tǒng)軟件,比如淘寶睬涧、QQ音樂等募胃。它們背后的秘密正是機器學習。
機器學習有點像我們?nèi)祟惔竽X的決策過程畦浓,我們來看看人類是如何思考的痹束。
假設(shè)我們?nèi)ベI橘子,賣橘子大娘說:“橘子甜過初戀”讶请〉凰唬可是我們想挑最甜的橘子,那怎么辦呢夺溢?
記得媽媽之前跟我說過:“嫩黃的橘子比暗黃的橘子甜”论巍,所以我們有了一個簡單的判斷標準:只挑選嫩黃色的橘子。下面我們來看看普通計算機算法是如何實現(xiàn)這個過程的风响。
我們發(fā)現(xiàn)普通計算機算法有個缺點嘉汰,那就是我們得搞清楚影響橘子甜度的所有因素才能把規(guī)則寫的詳細。但是如果我們研究的問題越來越復雜状勤,我們就需要針對所有的橘子類型手動地制定挑選這些規(guī)則鞋怀,那么就會變得非常的困難。下面我們來看看機器學習算法是如何解決這類問題的持搜。
機器學習算法是由前面的普通計算機算法演化過來的密似,通過自動地從提供的數(shù)據(jù)中學習,會讓程序變得更“聰明”葫盼。
我們從市場上的橘子中隨機地抽取一定的樣本残腌,這些樣本在機器學習中叫做訓練數(shù)據(jù)。然后把這些樣本制作成一個二維表格,上面標記著每個橘子的物理屬性废累,比如顏色、尺寸還有產(chǎn)地脱盲。這些橘子的物理屬性在機器學習中叫做特征邑滨。我們同時還要記錄這些橘子是甜的還是不甜的,這在機器學習中叫做標簽钱反。
有了這個訓練數(shù)據(jù)以后掖看,我們把訓練數(shù)據(jù)提供給機器學習算法,然后它就會學習出一個關(guān)于橘子特征和它是不是甜之間的模型面哥。當我們下次再去市場上買橘子的時候哎壳,面對新的橘子,我們只需要將新橘子的特征輸入到訓練好的模型中尚卫,模型就會自動輸出這個橘子是不是甜的归榕。
有了這個模型,我們現(xiàn)在就能很自信地去買橘子了吱涉,根本不用考慮那些橘子的細節(jié)刹泄。只要將橘子的物理屬性輸入這個模型,它就會直接告訴我們橘子是甜的還是不甜的怎爵。
更重要的一個特征是特石,我們可以讓這個模型隨著時間的增長越變越好。這是因為當我們把模型讀進去更多的訓練數(shù)據(jù)的時候鳖链,它就會更加的準確姆蘸。并且當做出錯誤的預測之后它會自行地修正。
這還不是最棒的地方芙委,最棒的地方在于我們可以使用同樣的機器學習算法去訓練不同的模型逞敷。比如我們可以使用剛才的機器學習算法來預測蘋果、西瓜等题山,這是常規(guī)計算機程序所辦不到的兰粉。這就是機器學習!
人工智能顶瞳、機器學習玖姑、深度學習的關(guān)系可以用上圖的范圍來表示。這三個名詞其實是隨著技術(shù)的不斷推進而提出來的慨菱。
人工智能的范圍很廣焰络;機器學習是實現(xiàn)人工智能的一種技術(shù);而深度學習又是機器學習中一種比較火的算法符喝。
我們需要先從基礎(chǔ)的數(shù)據(jù)分析開始學起闪彼,然后再學習機器學習,最后才是深度學習。
2畏腕、機器學習的步驟是什么缴川?
機器學習其實沒有我們想的那么高大上,學會這5個步驟的套路描馅,你也可以有自己的機器學習模型把夸。
第一步是提出問題,一切的機器學習目標都是為了解決我們生活或者工作中的實際問題铭污。比如我們想知道喜歡電影《諜影重重》的用戶還喜歡看哪些同類型的電影恋日;喜歡聽beyond歌曲《海闊天空》的用戶還喜歡聽什么音樂。明確的問題為我們后面的機器學習提供了目標嘹狞。
第二步是理解數(shù)據(jù)岂膳,包括三方面內(nèi)容。第一方面是采集數(shù)據(jù)磅网,這一部分要根據(jù)研究問題采集相關(guān)的數(shù)據(jù)谈截;第二部分是導入數(shù)據(jù),我們要分析的數(shù)據(jù)可能在Excel文件中知市,也可能在數(shù)據(jù)庫中傻盟,也可能在網(wǎng)絡(luò)中,所以我們需要將這些數(shù)據(jù)導入到Python的數(shù)據(jù)結(jié)構(gòu)中嫂丙,比如讀取數(shù)據(jù)到數(shù)據(jù)框中娘赴;第三方面是查看數(shù)據(jù)集的信息,包括它的描述統(tǒng)計信息跟啤,從整體上理解數(shù)據(jù)诽表,這跟我們追一個女孩之前要做好理解她喜歡的一切然后才能追到手一個道理。
第三步是數(shù)據(jù)清洗隅肥,也叫數(shù)據(jù)預處理竿奏,就是對數(shù)據(jù)進行“整容”,弄成我們期望的樣子腥放。這個過程就是從數(shù)據(jù)集中提取出我們想要的特征的信息泛啸。
第四步是構(gòu)建模型,模型是用訓練數(shù)據(jù)來構(gòu)建的秃症,也就是將上面第三步中提取的特征放入機器學習算法中來構(gòu)建模型候址。機器學習中最核心的就是機器學習算法,它有很多不同的算法种柑,我們會在之后的課程聊到這塊岗仑。
第五步是評估模型,通過測試數(shù)據(jù)來評估模型的準確性聚请,看看模型的預測效果如何荠雕。比如我們構(gòu)建了一個機器學習算法模型來預測電影,那么我們需要對預測結(jié)果進行評估,它到底預測準不準確炸卑,準確程度有多高既鞠,這就是評估模型。
這次課程我們從最簡單的機器學習算法“簡單線性回歸”開始聊起盖文。
3损趋、什么是特征和標簽?
特征就是數(shù)據(jù)的屬性椅寺,就像Excel里的字段列名就是特征,這首歌曲的數(shù)據(jù)屬性節(jié)奏蒋失、強度返帕、聽歌時長就是描述歌曲的特征。
標簽就是我們對數(shù)據(jù)的預測結(jié)果篙挽,比如這首歌曲的標簽就是喜歡還是不喜歡荆萤。
4、Python機器學習包sklearn如何學習铣卡?
scikit-learn 包括了機器學習常用的算法链韭。接下來的課程中我們會簡單介紹“簡單線性回歸”算法的理論部分,最后介紹如何通過機器學習包 scikit-learn 實現(xiàn)我們的理論煮落。這樣將理論和具體實踐集合起來敞峭,不僅可以理解算法底層是如何實現(xiàn)的,而且有了理論基礎(chǔ)知識我們可以更好地理解 scikit-learn 中的一些專業(yè)術(shù)語蝉仇。
學習 scikit-learn 包沒有必要將這個包里面所有的機器學習算法都看一遍旋讹,因為你不僅看不過來,而且理論也很復雜轿衔。正確的學習路線是:當我們碰到某一個機器學習算法沉迹,比如線性回歸的時候,想知道Python如何實現(xiàn)的話害驹,那么我們就可以通過搜索引擎來搜索包里面關(guān)于線性回歸算法相對應的案例文檔來供我們來參考鞭呕。所以我們需要帶著目的去學習這個包,而不是先把這個包都背下來然后再去操作宛官,這是不對的葫松。
5、練習:機器學習包sklearn安裝
6摘刑、3種線性相關(guān)性是什么进宝?
機器學習常常用來解決相關(guān)性分析的問題,那么什么是相關(guān)性分析呢枷恕?
有時候我們收到的統(tǒng)計量只有一個變量党晋,比如身高、籃球隊員的得分等等。但是還有另外一些統(tǒng)計量可以說明多個變量之間的關(guān)系未玻,我們舉個具體的例子灾而。
你認為什么樣的工作更容易使職場人猝死呢?是缺乏控制力和話語權(quán)的工作扳剿,還是權(quán)力大責任也大的工作呢旁趟?
工作壓力大會導致人死亡嗎?答案是肯定的庇绽!有大量證據(jù)表明工作壓力大會導致人早逝锡搜,尤其是促使心臟病的發(fā)作,比如新聞里經(jīng)城撇簦看到華為又有人猝死耕餐。但是這種致命的壓力或許跟我們想象的有所不同。公司高管每天都要做出重要決策辟狈,這些決策關(guān)系到他們公司的前途和命運肠缔。但他們所承受的風險要遠遠小于他們的秘書。他們的秘書必須要兢兢業(yè)業(yè)地完成上級布置的各種任務(wù)哼转,所以說最危險的一類工作是來自于對自己的工作任務(wù)缺乏控制力明未。
英國有一項調(diào)查就發(fā)現(xiàn),那些對自己的工作沒有支配能力的雇員壹蔓,也就是基本上對于干什么趟妥、怎么干沒有話語權(quán)的人,相比于那些擁有更多決策權(quán)力的雇員來說佣蓉,他們的死亡率更高煮纵。由此說明,并不是那些權(quán)力越大責任也越大的壓力會置我們于死地偏螺,而是那些等著上司給你布置任務(wù)但自己又沒有權(quán)力決定怎樣完成行疏、什么時候完成的壓力才會把我們壓垮。
研究人員是怎樣得出這樣的結(jié)論的呢套像?很顯然上面的問題我們是沒有辦法利用隨機的實驗來解決的酿联。在實際操作中,研究人員在很長一段時間里對英國政府系統(tǒng)的數(shù)千名公務(wù)人員進行了詳細的數(shù)據(jù)搜集夺巩。經(jīng)過數(shù)據(jù)分析贞让,提取出一些有意義的相關(guān)關(guān)系,比如工作缺乏控制力與心臟病之間的相關(guān)關(guān)系柳譬。下面我們就學習研究不同變量相關(guān)關(guān)系的一個機器學習算法——簡單線性回歸算法
上面圖片中的數(shù)據(jù)集是我們今天課程中用到的數(shù)據(jù)案例喳张。這里有20名學生,我們想知道學生為考試花費的時間與他們最后考試成績之間的相關(guān)關(guān)系美澳。這里的小樣本只是為了讓我們的計算過程更簡單销部、更容易看懂摸航。
這里我們期望通過學習時間來預測考試成績,所以學習時間是數(shù)據(jù)的特征舅桩,也叫作解釋變量或自變量酱虎;考試成績是數(shù)據(jù)的標簽,也叫作因變量擂涛。
變量的三種線性相關(guān)性:
① 正線性相關(guān)性:直線朝上
② 負線性相關(guān)性:直線朝下
③ 不是線性相關(guān):隨機(這里的不相關(guān)指的是沒有線性相關(guān)读串,但是有可能有其他的相關(guān)性,比如曲線相關(guān))
7撒妈、協(xié)方差:兩個變量的相關(guān)性程度
兩種情況的協(xié)方差更多的是被變量的變化幅度所影響恢暖。為了能夠準確研究兩個變量在變化過程中的相似程度,我們需要把變量的變化幅度對協(xié)方差的影響消除掉狰右,相關(guān)系數(shù)就可以完成這個任務(wù)胀茵。
8、相關(guān)系數(shù):兩個變量【每單位】的相關(guān)性程度
協(xié)方差與相關(guān)系數(shù)的差別在于:相關(guān)系數(shù)是標準化后的協(xié)方差挟阻。相關(guān)系數(shù)消除了兩個變量變化幅度的影響,而只是單純反映兩個變量每單位變化的相似程度峭弟。
9附鸽、相關(guān)系數(shù)-Python實現(xiàn)
為什么我們要使用相關(guān)系數(shù)矩陣來表示相關(guān)系數(shù)呢?
這是因為當我們有多個變量時瞒瘸,這個矩陣能夠讓我們一眼就能確定任何兩個變量之間的相關(guān)關(guān)系坷备。
在相關(guān)系數(shù)的研究中,當我們發(fā)現(xiàn)兩個變量有較高的相關(guān)性后情臭,就可以進一步研究省撑。這個話題留到下個課程中的實踐項目來講。
從上圖相關(guān)系數(shù) r=0.97 可以知道俯在,丈夫的年齡和妻子的年齡有很強的正線性相關(guān)性竟秫。
10、練習:通過游戲理解相關(guān)系數(shù)
通過以下游戲跷乐,熟悉和理解相關(guān)系數(shù):
1)此頁面允許你使用滑塊來更改相關(guān)系數(shù)肥败,直觀了解點的二維分布和相關(guān)系數(shù)大小,看看數(shù)據(jù)會如何呈現(xiàn)愕提。 相關(guān)性(長按此處可以復制):http://rpsychologist.com/d3/correlation/
2)猜測相關(guān)性的游戲馒稍,給出散點圖,然后猜測兩個變量的相關(guān)性系數(shù)浅侨。別一看這些亂亂的點就沒有玩的興趣了纽谒,其實玩起來還是很上癮的。 關(guān)鍵還得多玩幾次找找感覺(長按此處可以復制): http://istics.net/Correlations/
3)參考資料《描述統(tǒng)計學》(長按此處可以打開鏈接):https://www.zhihu.com/lives/916699160831483904
11如输、簡單線性回歸是什么鼓黔?
那到底如何通過學習時間預測考試成績呢央勒?
我們可以試試在散點圖上繪制一條穿過這些點的直線,使這條直線盡量地接近每一個數(shù)據(jù)點请祖,這樣的直線就叫做最佳擬合線订歪。
我們無法使得這條直線穿過每個點,但是如果存在線性相關(guān)性肆捕,那么應該可以保證每一個點合理地接近我們所繪制的這條最佳擬合線刷晋。這樣我們就可以根據(jù)學習時間x預測出考試分數(shù)y的數(shù)值。
y = a + bx 在機器學習中叫做回歸方程慎陵,這樣方程的直線叫做回歸線眼虱。
只要我們能用訓練數(shù)據(jù)求出a和b的最合適的數(shù)值,我們就能得到這條最佳擬合線。
12、簡單線性回歸-Python實現(xiàn)
13叭喜、練習:如何用訓練數(shù)據(jù)得到線性回歸模型污朽?
14、如何評估模型準確度愕宋?
15、決定系數(shù)R平方-Python實現(xiàn)
16、練習:如何評估模型準確度寇钉?
17、如何理解相關(guān)關(guān)系與因果關(guān)系舶赔?
因果關(guān)系的意思是說:A的發(fā)生必然會導致B的發(fā)生扫倡,B的發(fā)生必須以A的發(fā)生為前提,比如暴飲暴食導致胃痛就是因果關(guān)系竟纳。
但是相關(guān)關(guān)系卻不一定撵溃,僅僅可能是A和B同時發(fā)生了。兩個變量之間存在相關(guān)關(guān)系不一定意味著一個變量會影響另一個變量锥累。
事情的發(fā)生往往是一個復雜系統(tǒng)缘挑,是由多因素共同作用造成的,凡事都應該避免用單一模型去解釋桶略。
那么如何應用相關(guān)關(guān)系呢卖哎?一般我們要先通過研究來發(fā)現(xiàn)相關(guān)關(guān)系,然后再進一步去找原因看看兩變量是不是存在因果關(guān)系删性。