在贪心学院学习,是一种怎样的体验?
可能有朋友不知道貪心科技是干什么的,我會從以下三個方面聊一聊我的學習體驗。
l 貪心科技的介紹
l 針對ML(機器學習)中級課程的學習體驗
l 自身的收獲
1.貪心科技
貪心科技是一家成立于2018年,追求極致、有情懷的教育科技公司,目前專注在泛AI領域的在線教育。
核心團隊由微軟、谷歌、亞馬遜、百度等企業的科學家、資深算法工程師組成,其中絕大部分畢業于海內外最頂尖學府如CMU、USC、哥大、耶魯等等。
貪心科技的課程主要分為以下三類:初級課程、中級課程、高級課程。
每種課程的定位都不同,面向的人群不同,需要的基礎也不同。
2.針對ML(機器學習)中級課程的學習體驗
我現在正在學習的是機器學習的課程,需要 Python
代碼基礎,屬于中級班,采用網課的形式,結合問答、代碼編程、項目作業、專人助教答疑的授課形式讓像我這樣的在校學生或者希望從事AI崗位的職場人士入門機器學習。
有關的課程大綱在官網上就能看到,課程分為18章。
聊學習體驗嘛,我想直接從算法教學和實操案例入手,畢竟學了知識的最終目的還是要自己能寫出來代碼,能跑項目。
體重預測案例
我現在一共學習了三章,第一章內容是人工智能基礎,這章并沒有牽扯到什么算法,概念性的基礎知識偏多。
這章的案例是利用身高預測體重,其實說來算是給學員一個認識機器學習思想的小例子。
零基礎入門的人如果能在一開始就對機器學習的過程有一個整體的認識,那么后續的學習其實就只是在此基礎上去擴充自己對于不同類型數據的處理方式、不同算法的原理以及這些算法代碼實現過程的知識庫罷了,所以我覺得第一章去建立整體框架的教學思想這點很好。
這個案例告訴我一個完整的機器學習建模過程主要分為四個步驟:數據處理、特征工程、建模、驗證。
的確如此,像后續章節的股價預測、銀行客戶是否開始賬戶等等,都只是改變了數據處理的規則和利用的算法,整體的思想過程依舊沒有逃離這四層步驟的框架。
來看看第一章代碼。
可以看到,已經書寫好的代碼會加上詳細的注釋,告訴我們這些是做什么的。
我們需要做的地方會用 TODO
標注出來,每一個案例需要完成的地方是不同的。
這個案例只需要我們實例化一個線性回歸的模型,并利用劃分的訓練數據進行訓練。
上面四個框便是一個完整的機器學習過程,但是相對來說比較簡單。
線性回歸+股價預測案例
第二章學到的主要是線性回歸的知識,從一元的線性回歸模型講起,然后結合向量和矩陣的知識延伸到多元回歸。
李文哲老師從目標函數的概念入手,一步一步手推目標函數。
并告訴我們關于如何使得目標函數最小的解法,然后再一步步手推目標函數求解參數的公式。
算法的東西并不是說簡單的利用一行代碼實現就好,必須要去明白其后面的數學知識,這可能也是為什么大家覺得機器學習的東西學起來會比較難的原因。
但是我想像李文哲老師這樣一步步手推的教學方式,是能夠讓我們每個人都很清晰的認識到該算法的意義和背后邏輯的。
而在推導了一元以后,結合后續矩陣的知識,自然而然就上升到了多元。
李文哲老師同樣從概念入手一步步將目標函數和求解的相關過程展現在教學ppt上。
然后后面緊跟的就是代碼實現,這里的實現方式分為兩種,包括利用
Sklearn 自帶的庫來解決,和利用 Numpy 的計算方法實現。
為了加深我們的印象我們要做的就是利用 Numpy
方法手動輸入上一步推導的參數公式來實現求解。
然后就是關于股價預測的案例,在經過李文哲老師詳細的介紹線性回歸知識以后,算法的邏輯我們已經很清楚了,這個案例就是利用歷史數據來預測未來五天的股價。
就像第一章介紹的機器學習整體思路一樣,只是這里對數據有幾個比較重要的處理:排序、去NAN值、歸一化處理,來看一下代碼。
這里關于建模的過程并沒有使用 Numpy 的方法,而是直接利用了
Sklearn 庫,但其實我們已經清楚了其內部的實現方式,就算不用 Sklearn的方法,也可以用 Numpy 實現,理解原理才是重點。
邏輯回歸+梯度下降+銀行案例
第三章的內容主要是涉及到邏輯回歸的分類問題和梯度下降算法。
這樣說起來內容好像很少,但是所涉及到的知識其實相對第二章來說是偏多的。
像條件概率、最大似然估計、邏輯函數的求導等等,但是李文哲老師本人是南加州大學的博士,這些概念的東西他結合自己的理解講解的很細致,而且緊跟在每個知識點后面的問題也可以引發自己對該知識點的思考。
關于使用最大似然估計求解參數的方法,這里李文哲老師引入了一個簡單的投擲硬幣的問題,通過最大化概率,求導最大似然估計函數,進而實現對參數的估計。
然后從這個較為基礎的問題引出了有關邏輯回歸的最大似然估計,對于乘積形式的邏輯回歸函數如何簡化,李文哲老師詳細的介紹了取對數轉化成加法、在目標函數前加負號將最大值的求解轉化為對最小值求解的思想。
我本人對這些是比較熟悉的,因為去年考研期間寫了很多利用最大似然估計法求參數的題。
但是就算原來并沒有接觸過這個,也是能聽明白的,因為取log我們中學也學過。
簡化了目標函數,如何才能求解呢?
第一章線性回歸中求導,將導數設置為零的思想還行嘛?
于是針對這兩個問題,李文哲老師介紹了利用循環迭代思想的梯度下降方法。
同樣是先介紹概念、然后以一個二元函數為例利用梯度下降法迭代,對比直接求導解得解析解的方式讓我們了解算法的思想。
這其中涉及到一個學習率的概念,李文哲老師通過一張輪廓圖清晰明了的說出了學習率在梯度下降算法中的重要性。
而后是邏輯回歸采用梯度下降法求解參數
W,b的方法,李文哲老師同樣是一步一步手推。
第三章算法的知識到這里基本就結束了,案例是預測銀行客戶是否開設賬戶。
整體的建模過程依舊是如第一章的四個步驟,但是數據處理的方式和采用的算法發生了變化。
這個案例會介紹一種處理類別變量的方法——獨熱編碼。而關于模型構建后的評估方法也會有些介紹,比如針對標簽數據不平衡采用的精確率、召回率、F1-SCORE等等。
編寫代碼時需要我們做的為以下內容:
l 利用pd.get_dummies將變量轉化為類型型變量
l 構造訓練數據、劃分數據為訓練和測試數據
l 初始化邏輯回歸模型并利用訓練數據訓練
l 計算F1-SCORE,進行評估
3.體驗和自身的收獲
體驗
我覺得看上面的案例大家就能看出來,只想說手推算法太酷了啊,我不僅聽得懂我還能自己寫一遍。
結合案例利用代碼一遍遍鞏固機器學習的建模思想,且在不同案例中針對不同的數據類型引入不同的數據處理方式,這種從問題出發學習解決辦法的思想讓我覺得接受度很高。
手推算法、從淺至深的知識體系、案例問題的逐層分析和逐層代碼實現…我覺得這樣的授課方式我很喜歡。
收獲
到目前為止,用了不到一個月的時間聽課,查資料,跟著老師的步驟敲代碼,雖然只學習了三章,但是收獲是很多的。
我覺得主要分為以下兩點:知識方面、認知方面。
知識方面:
毋庸置疑,聽完課,記筆記,交了作業代碼以后我對于線性回歸、邏輯回歸的原理和應用有了更深層次的認識。
本科階段畢業論文用了多元 logistic
回歸的分析方法預測房地產市場的風險狀態概率,那時候只是用 Spss
軟件操作,并不太知道里面的原理是什么,聽了李文哲老師手推的過程,我才明白為什么算出來的是一個概率值。
而像對于各種數據如何處理、對于模型的驗證等這些也是我原來沒有接觸過的。
認知方面:
機器學習算是我上個月剛剛開始接觸的一門新學科,在學習之前我的認知如普羅大眾一樣,覺得人工智能也好,機器學習也好,都是一門相對高深的學科。
但是通過這一個月的學習,我覺得并沒有想象的那么難,是那種對未知的不熟悉放大了心底的恐懼。
李文哲老師第一章的課程便是關于人工智能基礎概念的講解,介紹了什么是人工智能、機器學習和深度學習的概念、給出了AI的學習路徑。
他對人工智能現狀、應用和發展前景的看法讓我受益匪淺。
就像李文哲老師說的:“如何將人工智能的思想和應用融入自身所從事的職業是當代職場人士應該去深度思考的問題?!?/p>
我會帶著這個問題把課程學完的。
總結
以上是生活随笔為你收集整理的在贪心学院学习,是一种怎样的体验?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: XR*ST什么意思
- 下一篇: 泰山纪念币可以流通吗