機器學習算法之-邏輯回歸(1)

什么是回歸

????????回歸樹,隨機森林的回歸,無一例外他們都是區別于分類算法們,用來處理和預測連續型標簽的算法。然而邏輯回歸,是一種名為“回歸”的線性分類器,其本質是由線性回歸變化而來的,一種廣泛使用于分類問題中的廣義回歸算法。要理解邏輯回歸從何而來,得要先理解線性回歸。線 性回歸是機器學習中最簡單的的回歸算法,它寫作一個幾乎人人熟悉的方程:

?????????0為截距,?1~?n為系數;

如上方程,構建成矩陣如下,現在的目標就是構建?T的值。

????????于是,我們就可以得到一個觀點,即:線性回歸的任務,就是構造一個預測函數來映射輸入的特征矩陣x和標簽值y的線性關系,而構造預測函數的核心就是找出模型的參數:?T和?0;

????????通過函數Z?,線性回歸使用輸入的特征矩陣X來輸出一組連續型的標簽值y_pred,以完成各種預測連續型變量的任務,那如果我們的標簽是離散型變量。

? ? ? ? 這是引申了一個概念,連續型變量和離散型變量:?連續性變量是指可以取任何數值的變量,通常以測量或計量方式獲得,例如身高、體重、溫度等。離散型變量是指只能取有限個數值或整數的變量,通常以計數方式獲得,例如家庭成員人數、投擲骰子點數等。

? ? ? ? 這時就會產生一個問題,如果是滿足0-1分布的離散型變量,我們要怎么辦呢?我們可以通過引入聯系函數(link function)。聯系函數即一種將線性預測器轉換為概率的函數。就是將線性回歸方程z變換為g(z),并且令g(z)的值分布在(0,1)之間,且當g(z)接近0時樣本的標簽為類別0,當g(z)接近1時樣本的標簽為類別1,這樣就得到了一個分類模型。而這個聯系函數對于邏輯回歸來說,就是Sigmoid函數:

????????這時又引申了一個概念,即歸一化,歸一化是一種數據預處理技術,用于將不同規模的數據轉換為相同的比例。它通常是將數據縮放到特定的范圍,例如0到1或-1到1之間。歸一化可以消除不同變量之間的量綱影響,使得它們可以在相同的尺度下進行比較和分析。常用的歸一化方法包括MinMaxScaler,而MinMaxScaler是可以取到01的(最大值歸一化后就是1,最小值歸一化后就是0),但Sigmoid函數只是無限趨近于01

線性回歸中Z=?T*x, 于是我們將Z帶入,就得到了二元邏輯回歸模型的一般形式:

y(x) 就是我們邏輯回歸返回的標簽值。此時,y(x)在[0,1]之間,而y(x)和1-y(x)之和必然是0,如果
就形成了幾率,在此基礎上取對數,就是:

????????我們讓線性回歸結果逼近0和1,此時y(x)和1-y(x)之和為1,因此它們可以被我們看作是一對正反例發生的概率,即y(x)是某樣本i 的標簽被預測為1的概率,而1-y(x)是i的標簽被預測為0的概率,y(x)/1-y(x), 就是樣本 i 標簽被預測為 1的相對概率。 基于這種理解,我們使用最大似然法和概率分布函數推到出邏輯回歸的損失函 數,并且把返回樣本在標簽取值上的概率當成是邏輯回歸的性質來使用,每當我們訴求概率的時候,我們都會 使用邏輯回歸。 ?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/42316.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/42316.shtml
英文地址,請注明出處:http://en.pswp.cn/news/42316.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Vue 引入 Element-UI 組件庫

Element-UI 官網地址:https://element.eleme.cn/#/zh-CN 完整引入:會將全部組件打包到項目中,導致項目過大,首次加載時間過長。 下載 Element-UI 一、打開項目,安裝 Element-UI 組件庫。 使用命令: npm …

ArcGIS Maps SDK for JavaScript系列之二:認識Map和MapView

目錄 Map創建一個 Map 對象的示例代碼:Map的常用屬性Map的常用方法 MapViewMapView的常用屬性MapView的常用方法 在 ArcGIS Maps SDK for JavaScript 中,Map 和 MapView 是兩個重要的概念,用于創建和展示地圖應用程序。 Map Map 表示一個地圖…

【Rust】Rust學習 第十三章Rust 中的函數式語言功能:迭代器與閉包

Rust 的設計靈感來源于很多現存的語言和技術。其中一個顯著的影響就是 函數式編程(functional programming)。函數式編程風格通常包含將函數作為參數值或其他函數的返回值、將函數賦值給變量以供之后執行等等。 更具體的,我們將要涉及&#…

bert,transformer架構圖及面試題

Transformer詳解 - mathor atten之后經過一個全連接層殘差層歸一化 class BertSelfOutput(nn.Module):def __init__(self, config):super().__init__()self.dense nn.Linear(config.hidden_size, config.hidden_size)self.LayerNorm nn.LayerNorm(config.hidden_size, epscon…

redis 發布和訂閱

目錄 一、簡介 二、常用命令 三、示例 一、簡介 Redis 發布訂閱 (pub/sub) 是一種消息通信模式:發送者 (pub) 發送消息,訂閱者 (sub) 接收消息。Redis 客戶端可以訂閱任意數量的頻道。下圖展示了頻道 channel1 ,以及訂閱這個頻道的三個客戶…

前端對文件轉換處理的一些常用方法

文章目錄 0,前言1,將圖片的url網絡鏈接(http://) 轉為base64格式2,將base64的圖片數據轉換為file文件3,將以base64的圖片數據轉換為Blob4,將file文件轉化為base645,將file文件轉換為Blob6,獲取文…

CentOS系統環境搭建(八)——CentOS7開機自動執行腳本(以MySQL為例)

CentOS7開機自動執行腳本 文章目錄 CentOS7開機自動執行腳本第一步:新建一個腳本run.sh第二步:腳本添加可執行權限第三步:執行如下命令將/etc/rc.d/rc.local文標記為可執行文件第四步:打開/etc/rc.d/rc.local文件,在最…

利用Opencv實現人像遷移

前言: Hello大家好,我是Dream。 今天來學習一下如何使用Opencv實現人像遷移,歡迎大家一起參與探討交流~ 本文目錄: 一、實驗要求二、實驗環境三、實驗原理及操作1.照片準備2.圖像增強3.實現美顏功能4.背景虛化5.圖像二值化處理6.人…

item_password-獲得淘口令真實url

一、接口參數說明: item_password-獲得淘口令真實url ,點擊更多API調試,請移步注冊API賬號點擊獲取測試key和secret 公共參數 請求地址: https://api-gw.onebound.cn/taobao/item_password 名稱類型必須描述keyString是調用key&#xff08…

tomcat源碼修改與編譯

1、獲取源碼 從github下載其源碼:https://github.com/apache/tomcat 2、選擇版本 切換到對應版本(直接用相對應的Git tag即可): git checkout 9.0.793、修改源代碼,并且生成補丁 這里我們以修改去掉新版本的ws的檢…

129.【Spring 注解 IOC】

Spring 注解 (一)、組件注冊1. Configuration 與 Bean 容器注冊組件(1).無注解注入方式(2).注解注入方式 2. ComponentScan 自動掃描組件和自動掃描規則(1).無注解掃描方式(2).注解掃描注入方式(3).指定掃描或不掃描的包 (過濾) 3. 自定義TypeFilter指定過濾規則 Filter(1).自定…

openCV項目開發實戰--詳細介紹如何改善夜間圖像的照明(附python和C++源碼)

文末附完整的代碼實現下載鏈接 介紹 對于非攝影師來說,在光線不佳的條件下拍出好照片似乎很神奇。完成低光攝影需要技巧、經驗和正確的設備的結合。在弱光下拍攝的圖像缺乏色彩和獨特的邊緣。它們還遭受能見度差和深度未知的困擾。這些缺點使得此類圖像不適合個人使用或圖像處…

QT多屏顯示程序

多屏顯示的原理其實很好理解,就拿橫向擴展來說: 計算機把桌面的 寬度擴展成了 w1(屏幕1的寬度) w2(屏幕2的寬度) 。 當一個窗口的起始橫坐標 > w1,則 他就被顯示在第二個屏幕上了。 drm設備可以多用戶同時打開&am…

Spring MVC 簡介

目錄 1. 什么是MVC2. 什么是SpringMVC 1. 什么是MVC MVC是一種常用的軟件架構模式。可以看作是一種設計模式,也可以看作是一種軟件框架。經典MVC模式中,M是指模型,V是視圖,C則是控制器,使用MVC的目的是將M和V的實現代…

golang中使用chan控制協程并發簡單事例

func main() {processNum : 5ch : make(chan struct{}, processNum)for true {ch <- struct{}{}go func() {defer func() {<-ch}()fmt.Println("我是協程", time.Now().UnixNano())time.Sleep(time.Second * 5)}()} } 可以看到&#xff0c;這里每5s會執行一次帶…

Linux15 消息隊列 線程

目錄 1、進程間通信IPC&#xff1a; 2、多線程 3、向消息隊列中寫入數據 4、從消息隊列中讀取數據 5、多線程&#xff1a; 6、將多線程的數據返回給主…

數據庫索引優化策略與性能提升實踐

文章目錄 什么是數據庫索引&#xff1f;為什么需要數據庫索引優化&#xff1f;數據庫索引優化策略實踐案例&#xff1a;索引優化帶來的性能提升索引優化規則1. 前導模糊查詢不適用索引2. 使用IN優于UNION和OR3. 負向條件查詢不適用索引4. 聯合索引最左前綴原則5. 范圍條件查詢右…

c#實現策略模式

下面是一個使用C#實現策略模式的示例代碼&#xff1a; using System;// 策略接口 public interface IStrategy {void Execute(); }// 具體策略類A public class ConcreteStrategyA : IStrategy {public void Execute(){Console.WriteLine("具體策略A的執行邏輯");} …

【Mysql】MVCC版本機制的多并發

&#x1f307;個人主頁&#xff1a;平凡的小蘇 &#x1f4da;學習格言&#xff1a;命運給你一個低的起點&#xff0c;是想看你精彩的翻盤&#xff0c;而不是讓你自甘墮落&#xff0c;腳下的路雖然難走&#xff0c;但我還能走&#xff0c;比起向陽而生&#xff0c;我更想嘗試逆風…

PostgreSQL空值的判斷

PostgreSQL空值的判斷 空值判斷非空判斷總結 空值判斷 -- 查詢為空的 is null,sql簡寫isnull select * from employees where manager_id isnull;select * from employees where manager_id is null;非空判斷 -- 查詢不為空的 is not null;sql簡寫notnull select * from empl…