2018年12月4日 星期二

機器學習Machine learning

機器學習簡介Introduction to Machine Learning

一般人認為Al和機器學習只是用來追踪我們的習慣,試圖追蹤我們的購物習慣。實際上,科學家在使用機器學習上已經在許多領域取得重大發現。

例如,在月球上尋找資源:
NASA正在探索繪製水,冰和其他材料所在位置的技術。根據任務,探險者號需要不同的東西。火箭燃料是其中之一,也許開採金屬以建造更大的太空船將比從地球發射效能更高。機器學習使得在其他地方找到材料和規劃操作成為可能。

對鯨魚的研究需要找出它們的位置和移動方式:科學家已經使用了數千張鯨魚圖片來繪製他們的行為,以幫助拯救鯨魚。與此同時,歷史學家使用當時的貿易數據來定位古代城市。他們利用出售給其他城市的商品數量來估算城市的位置,並設法在現代伊拉克找到11個失落的城市。

由於數據增加,許多項目都有可能實現。人們喜歡的智慧行手機經常被使用為收集數據,既可以單獨使用,也可以與測量不同種類污染的傳感器一起使用。志願者通過應用程序拍照或報告他們看到的內容,並且應用程序將其發送到專門的數據中心集中。然後透過演算法幫助獲得解決方案。

數據及演算法

機器學習可以做什麼,從哪裡可以獲得數據?要了解更多信息,我們需要擁有數據集來訓練演算法。對於我們這些業餘愛好者來說,收集數據似乎是一項最困難的任務,除非只玩小型數據集。其實,很多數據已可以從互聯網上獲得。一個好地方是GitHub。

summary

機器學習使用計算機運行預測模型,從現有數據中學習,以預測未來的行為,結果和趨勢。

探索數據Exploring Data

數據準備和清潔Data Preparation and Cleaning

資料探勘Data mining

機器學習演算法Machine Learning Algorithms

Linux是最常用的機器學習平台

監督式學習Supervised Learning

Supervised machine learning has known label values, labels are the correct answers.

這是最常用的機器學習算法。它被稱為監督學習算法,因為從訓練數據及演算法學習的過程可以被認為是監督學習過程的教師。在這種ML演算法中,可能的結果是已知的,並且訓練數據也標有正確的答案。可以理解如下:

假設有輸入變量x和輸出變量y,並且我們應用了一種算法來學習從輸入到輸出的映射函數,例如 -

Y = f(x)

x: data

y:prediction

現在,主要目標是近似映射函數,當有新的輸入數據(x)時,可以預測該數據的輸出變量(Y)。


主要監督問題可分為以下兩類問題:

1. 線性回歸Regression:

它是統計和機器學習中最著名的算法之一。

基本概念 - 主要是線性回歸是一個線性模型,假設輸入變量x和單個輸出變量y之間的線性關係。換句話說,y可以由輸入變量x的線性組合來計算。變量之間的關係可以通過擬合最佳線來確定。

線性回歸有以下兩種類型:

簡單線性回歸 - 如果線性回歸算法只有一個獨立變量,則稱為簡單線性回歸。

多元線性回歸 - 如果線性回歸算法具有多個獨立變量,則稱其為多元線性回歸。


建立模型
建立模型函數,不知道真正或是正確的模型所以用函數改變參數值已找出正確的函數或是模型

最小平方法method of least squares
找出
誤差函數
目標函數
成本函數 Cost Function
最佳化問題standardization:
讓誤差縮小所以最佳化函數
讓誤差的函數盡可能縮小
平方的目的:因為誤差要拉變成正數,不管正數還是負數誤差就是誤差

學習(微分)
最速下降法 Gradient descent
座標下降法(1個參數)
梯度下降法(多個參數)


2. 分類classification


坡度法:
讓權重逐步往誤差縮小的方向移動

#提高模型性能Improving Model Performance
找出是直線還是圓形的函數
輸入特徵值加總
因為不知道真正的模型是什麼,才需要用特徵值,之後就能夠找出真正的模型。


KNN
the K- Nearest Neighbors Machine Learning algorithm.

1. knn method do not require training

2.a new case is classified based on proximity to labeled cases

   uses d distance metric

   euclidian distance

   weighted distance

K defines number of neighbors used for the prediction

   prediction by majority vote

#Logistic回歸
它是一種分類算法,也稱為logit回歸。
主要邏輯回歸是一種分類算法,用於根據給定的一組自變量來估計離散值,如0或1,真或假,是或否。基本上,它預測的概率因此它的輸出在0和1之間。

#決策樹

決策樹是一種監督學習算法,主要用於分類問題。

基本上它是一個基於自變量表示為遞歸分區的分類器。決策樹具有形成根樹的節點。有根樹是一個帶有稱為“根”節點的定向樹。 Root沒有任何傳入邊緣,所有其他節點都有一個傳入邊緣。這些節點被稱為樹葉或決策節點。例如,考慮下面的決策樹來判斷一個人是否適合。


#支持向量機(SVM)

它用於分類和回歸問題。但主要用於分類問題。 SVM的主要概念是將每個數據項繪製為n維空間中的一個點,每個特徵的值是特定坐標的值。這裡n將是功能。以下是了解SVM概念的簡單圖形表示 -

#決策樹,隨機森林,knn,邏輯回歸是監督機器學習算法的例子。

顧名思義,這類機器學習算法沒有任何主管提供任何指導。這就是為什麼無監督機器學習算法與一些人們稱之為真正的人工智能密切相關的原因。可以理解如下 -

假設有輸入變量x,那麼在監督學習算法中就沒有相應的輸出變量。

簡而言之,可以說在無監督學習中,沒有正確的答案,也沒有教師指導。算法有助於發現數據中有趣的模式。



#在上圖中,有兩個特徵,因此首先需要在二維空間中繪製這兩個變量,其中每個點都有兩個坐標,稱為支持向量。該行將數據分成兩個不同的分類組。這條線將是分類器。


#樸素貝葉斯

這也是一種分類技術。這種分類技術背後的邏輯是使用貝葉斯定理來構建分類器。假設是預測變量是獨立的。簡而言之,它假設類中某個特徵的存在與任何其他特徵的存在無關。以下是貝葉斯定理的等式 -

樸素貝葉斯模型易於構建,特別適用於大型數據集。


#K-最近鄰居(KNN)

它用於問題的分類和回歸。它被廣泛用於解決分類問題。該算法的主要概念是它用來存儲所有可用的案例,並通過其k個鄰居的多數選票來分類新案例。然後將該情況分配給通過距離函數測量的K近鄰中最常見的類。距離函數可以是歐幾里得,明可夫斯基和海明距離。考慮以下使用KNN -


計算上KNN比用於分類問題的其他算法昂貴。

變量的規範化需要其他更高的範圍變量可以偏差。

在KNN中,需要在噪音消除等預處理階段進行工作。

隨機森林
它是一個監督分類算法。隨機森林算法的優點是它可以用於分類和回歸兩類問題。基本上它是決策樹的集合(即森林),或者可以說決策樹的集合。隨機森林的基本概念是每棵樹給出一個分類,並且森林從它們中選擇最好的分類。以下是隨機森林算法的優點 -
隨機森林分類器可用於分類和回歸任務。
可以處理缺失的值。
即使在森林中有更多的樹,它也不會過度適合模型。


非監督式學習Unsupervised Learning:

Unsupervised Machine Learning, we only have features.

群集的一種,依照資料的結構、特徵、相似度分組,簡單的來說就是機器自己找出特徵然後分組。

#clustering

K均值聚類

顧名思義,它用於解決聚類問題。它基本上是一種無監督學習。 K-Means聚類算法的主要邏輯是通過許多聚類對數據集進行分類。按照這些步驟通過K-means形成聚類 -


K-means clustering 為每個簇選取k個點,稱為質心。

每個數據點形成具有最接近質心的群集,即k個群集。

它將根據現有集群成員查找每個集群的質心。

需要重複這些步驟直到收斂。