【Python機器學習】01_機器學習概述
一、前言
近年來,人工智能一詞頻繁出現在我們的視野。從深藍到阿法狗,人工智能已經成為未來趨勢。而機器學習又是人工智能的一大重要分支,所以學習機器學習也是一個很好的選擇。本系列文章將使用通俗的語言講解機器學習,并使用scikit-learn模塊實現常用的機器學習算法。
二、機器學習
機器學習是從數據中提取知識的科目,它是計算機技術與概率論、統計學等數學理論的結合。簡單來說,機器學習就是尋找一個函數。我們給定一個輸入,它就可以輸出我們想要的內容。我們可以看幾個實際的例子。
現在人臉識別、語音識別、自動駕駛等技術都比較熱門,我們可以分別看看這三種技術的輸入、函數、輸出是什么。
對于人臉識別,輸入是人臉的圖像,輸出是這個人的姓名或者其它標識,而函數我們好像無法描述;對于語音識別,輸入是聲音信號,輸出是文字,函數我們同樣無法描述;對于自動駕駛,輸入是各種傳感器的數據,四周的圖像等,輸出是下一步操作(轉方向盤、踩油門、剎車),函數我們依舊無法描述。
可以發現,機器學習通常要找的函數是非常復雜的,這些函數很難描述,也正因為人難以描述,所以需要機器學習。
三、監督學習和非監督學習
3.1、學習方式
我們需要大量的歷史數據來驅動尋找函數的過程。根據數據的的不同,我們通常有兩種不同的學習方式。分別是監督學習和非監督學習。
對于監督學習,數據需要包含特征值和目標值兩個部分。 而對于非監督學習,目標值的存在不是必要的。下面我們用兩個例子區分一下監督學習和非監督學習。
3.2、監督學習
假如有一個射箭任務,我們的目標就是命中靶心,經過多次有效練習,我們可以很精準命中靶心。我們可以把這個任務理解為監督學習。
3.3、非監督學習
現在有另外一個任務,有一堆重量分別是10kg、20kg、30kg,單大小一樣的鐵球混合在一起,讓你胡亂用力丟,最后我們可以看到下圖的效果:
圖中綠色為10kg、藍色為20kg、黃色為30kg,為了區分
可以發現綠色集中在外圈,藍色集中在中間,而黃色則離人最近。雖然我們通過肉眼無法知道球的重量,但是通過拋球后的圈,我們可以猜測各個球的重量。
四、機器學習算法
4.1、函數集(function set)
在上面我們提到,機器學習是要尋找一個函數。但是光說尋找一個函數如同大海撈針,無從下手。為了有更明確的目標,我們可以把函數的范圍進一步縮小,比如我們假定我們要找的函數形式如下:
y = w x + b y = wx + b y=wx+b
其中x是輸入,y是輸出,w和b是我們函數的參數。因為不同的w和b可以確定不同函數,所以我們把上面有未知w和b的函數叫函數集。
在確定好函數集后,我們就可以在函數集尋找一個最優的函數(最優的一組w和b)。具體尋找方式會在后面講解。
4.2、算法
機器學習算法在機器學習中起到了非常重要的作用,在我們確定了使用的算法時,就相當于確定了函數集。之后只需要在函數集中找到最優的函數即可。
各個算法有各自的優點 ,適用不同的任務。因此我們只有熟悉各個算法的特點,才能很好的運用各個算法。
下面是我們會學到的幾個算法:
k近鄰
決策樹
隨機森林
樸素貝葉斯
線性回歸
邏輯回歸
支持向量機
神經網絡
聚類
這里沒有全部列出,后續會詳細介紹。今天的內容就分享到這,更多內容可以關注“新建文件夾X”。
Python 機器學習
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。