機器學習 機器學習實戰 Logistic回歸

2021-10-02 23:41:26 字數 978 閱讀 5995

我們在每個特徵上都乘以乙個回歸係數,然後把所有的結果值相加,將這個總和代入sigmoid函式中,進而得到乙個範圍在0~1之間的數值。任何大於0.5的資料被分入1類,小於0.5的被歸入0類。所以此種回歸也可以被看成是一種概率估計。

收集資料:任意

準備資料:由於需要進行距離計算,因此要求資料型別為數值型。另外結構化資料格式則最佳

分析資料:任意

訓練演算法:大部分時間將用於訓練,訓練的目的是為了找到最佳的分類回歸係數

測試演算法:一旦訓練步驟完成,分類將會很快。

使用演算法:首先,需要輸入一些資料,並將其轉換成對應的結構化數值;基於訓練好的回歸係數就可以對這些數值進行簡單的回歸計算,判定它們屬於哪個類別;在這之後,我們就可以在輸出的類別上做一些其他分析工作

在兩個類的情況下,函式輸出0或1。這樣的函式有單位階躍函式,但在數學上不易處理,所以我們引入具有相似性質的sigmoid函式:

具體實現

【logregres.py】

每個回歸係數初始化為1

重複r次:

計算整個資料集的梯度

使用alpha*gradient更新回歸係數的向量

返回回歸係數

【logregres.py】

梯度上公升演算法在每次更新回歸係數時都需要遍歷整個資料集,計算複雜度太高。故引入隨機梯度上公升演算法。

每個回歸係數初始化為1

對資料集中每個樣本:

計算該樣本的梯度

使用alpha*gradient更新回歸係數的向量

返回回歸係數

為什麼在隨機梯度上公升演算法中,回歸係數存在區域性的波動現象?梯度上公升演算法中是否存在這種現象?

存在一些不能正確分類的樣本點(資料集並非線性可分),在每次迭代時會引發係數的劇烈改變。

如何避免來回波動並加快收斂速度?

【stocgradascent1】

如何處理資料中的缺失值?

機器學習機器學習實戰 kmeans

簡介 聚類演算法是一種無監督學習,它將相似的物件歸類到同一簇中。聚類的方法可以應用所有的物件,簇內的物件越相似,聚類效果也就越好。聚類和分類的最大不同之處在於,分類的目標是已知的,聚類是完全無監督學習,類別沒有像分類那樣被預先定義出來,所以叫做無監督學習。kmeans演算法是實際中最常用的聚類演算法...

機器學習 機器學習實戰 決策樹

缺點 可能會產生過度匹配問題 適用資料型別 數值型和標稱型 收集資料 可以使用任何方法 準備資料 樹構造演算法只適用於標稱型資料,因此數值型資料必須離散化 分析資料 可以使用任何方法,構造樹完成之後,我們應該檢查圖形是否符合預期 訓練演算法 構造樹的資料結構 測試演算法 使用經驗樹計算錯誤率。使用演...

機器學習 機器學習目錄

注 後期有時間的話會對每乙個演算法進行講解。1 普通線性回歸 2 廣義線性模型 3 邏輯回歸 4 線性判定分析1 決策樹基本原理與構建 2 cart演算法 3 回歸決策樹 4 分類決策樹1 貝葉斯定理與樸素貝葉斯 2 高斯貝葉斯分類器 3 多項式貝葉斯分類器 4 伯努利貝葉斯分類器 5 遞增式學習1...