1. 程式人生 > >跟著Andrew Ng挑戰Machine Learning(第三週)Part 1:邏輯迴歸簡介

跟著Andrew Ng挑戰Machine Learning(第三週)Part 1:邏輯迴歸簡介

注意:
  我發現當我在閱讀其他大神&前輩們發表的文章時,往往只有前二十分鐘能夠集中注意力。之後就慢慢的會有些懈怠了,而往往他們付出的心血可能主要就集中在中後半部分⊙﹏⊙‖∣° 。
  有鑑於此,我決定以後發的博文儘可能的短。呵呵呵呵呵呵……

邏輯迴歸(Logic Regression)其實解決的是分類問題

  雖然叫邏輯迴歸,但確實是一個分類問題,引用Coursera的原話“少年們,請不要在這裡迷茫!”(好吧這絕對不是原話)

什麼是分類問題咧?

 
  舉個栗子:“分辨各位電子郵箱中的郵件是否是垃圾郵件”就是一個分類問題,結果只有是或者不是,或者說結果不是零就是一,即 y

{0,1}
  
  再舉一個栗子:“辨別腫瘤是否為惡性腫瘤”也是一個分類問題。如果我們用前面兩章講的迴歸方法來預測就有點不講理了,請看下圖。
  
  Classification using Regression

本章所述的邏輯迴歸要怎樣解決這類問題呢?

 
  我們先從最簡單的問題說起,僅討論前面舉得例子這種只用分兩類的問題(不是0就是1),即二分類問題(Binary Classification)
  
  這類問題中輸出的值 y{0,1},與迴歸問題一樣我們還需要一個擬合函式 h(x⃗ )
  
  hθ(x⃗ ) 與線性迴歸所用的是有差別的。我們需要讓 hθ(x⃗ )(0,1),這樣就可做如下定義了:

y={1
,hθ(x⃗ )0.5
0,hθ(x⃗ )0.5

  所以,從新定義 h(x⃗ ) 的形式(別問我為什麼要這樣定義 O__O” ,我只知其然不知其所以然):

z=θ0x0+θ1x1++θnxng(z)=11+ezhθ(x⃗ )=g(z)
  為了方便記錄,讓公式更簡潔,後文中我會用向量的形式表示 z,即 z=θ⃗ Tx⃗ 

  g(z) 座標圖如下:
  
  gz
  
  那麼,接下來要做的事情就很容易理解了。和線性迴歸一樣,我們接下來要做的事情就是找到一組最佳的特徵係數 θ⃗ =(θ0,θ1,,θn) 來進行分類預測。

  就上述的判斷腫瘤是良性還是惡性的例子,假設我們已經找到了一組最佳的特徵係數 θ

⃗ =(θ0,θ1), 現在我們要判斷一個特徵值為 x⃗  的案例是可能為惡性還是可能為良性。很簡單,只用把 x⃗  帶入擬合函式中判斷就行。

  假如 hθ(x⃗ )0.5 我們就預測“y=1,即是惡性腫瘤”,反之,hθ(x⃗ )0.5 我們就預測“y=1,即是良性腫瘤”。根據上圖,我們還可以按下面所述的方法進行判斷。
  
  假如 θ⃗ Tx⃗ 0 我們就預測“y=1,即是惡性腫瘤”,反之,θ⃗ Tx⃗ 0 我們就預測“y=1,即是良性腫瘤”。

用一對多的方法解決多重分類的問題

  一對多是一種非常簡單的方法,其核心就是不斷的使用Part1、Part2介紹的二分類問題,然後在多個二分類機的預測結果中選擇可能性最大的那一個。

  如下圖所示,將左邊的多重分類問題,分解成右邊的三個二分類問題:
 
OneVsAll
 
  用訓練集 X 分別訓練每一個類對應的擬合函式 h(i)θ(x⃗ ),例如上圖中,Class 1 對應的擬合函式為 h(1)θ(x⃗ ),Class 2 對應的擬合函式為 h(2)θ(x⃗ ), Class 3 對應的擬合函式為 h(3)θ(x⃗ )

  最後,我們用這 3 個分類分別計算測試用例 x⃗ test 對應的概率,取其最大者為對應的 y

相關推薦

跟著Andrew Ng挑戰Machine LearningPart 1邏輯迴歸簡介

注意:   我發現當我在閱讀其他大神&前輩們發表的文章時,往往只有前二十分鐘能夠集中注意力。之後就慢慢的會有些懈怠了,而往往他們付出的心血可能主要就集中在中後半部分⊙﹏⊙‖∣° 。   有鑑於此,我決定以後發的博文儘可能的短。呵呵呵呵呵呵……

if語句和字典

第五章 if語句 5-3 外星人顏色 #1 alien_color = 'green' if alien_color == 'green': print("You get five points!") 輸出: You get five points! 如果不是綠色 alie

coursera公開課——recommender system作業

懶蟲鍋~~~!!!! 原始資料: 以及使用者目前對doc的資料 #coding:utf-8 import csv import operator import math csvfile=file("data1.csv",'rU') reader=

《神經網路和深度學習》之神經網路基礎課後作業——一個隱藏層的平面資料分類

由於沒有找到課後練習,所有練習文章均參考點選開啟連結,我已經將所有程式碼都實現過一遍了,沒有錯誤,感謝博主歡迎來到第三週的課程,在這一週的任務裡,你將建立一個只有一個隱含層的神經網路。相比於之前你實現的邏輯迴歸有很大的不同。你將會學習一下內容:用一個隱含層的神經網路實現一個二

【機器學習入門】Andrew NGMachine Learning》課程筆記之四分類、邏輯迴歸和過擬合

分類和邏輯迴歸 在實際的生活中,會遇到很多二元分類問題(Binary Classification Problem),比如判斷一封郵件是否是垃圾郵件,攝像頭判斷使用者是男是女和一張圖片裡包含的是貓還是狗等等。 在有監督的分類問題中,通常使用帶標記(Label

機器學習之Coursera Andrew NgMachine Learning》 week 6 test 2

本系列文章是coursera上Andrew Ng的《Machine Learning》的測驗題,每次測驗都會有不同的錯,記錄下來,不定時的補充。錯的題目希望能幫我改正一下,我改錯的也希望大家能提出。

【機器學習入門】Andrew NGMachine Learning》課程筆記之一 課程簡介

作為大名鼎鼎Coursera 的創始人之一的斯坦福教授Andrew NG的課程《Machine Learning》是非常好的入門課程,內容淺顯,逐層深入,講解了很多機器學習中的常用概念和技術,最後實現一

《鳥哥的Linux私房菜-基礎學習篇

shell 怎樣學習 track col 網絡基礎 環境的使用 發生 企業網 clas 第2章 Linxu怎樣學習 1. Linux當前的應用角色 當前的Linux常見的應用可略分為企業應用和個人應用雙方面。 首先談了企業

Android五天樂ListFragment與ViewPager

viewgroup cat () wid group 得到 ica bottom csdn 1ListFragment 今天首先學習了一種很經常使用的展示場景:列表展示。 昨天學習了使用Fragmet來取代activity進行設計。今天在托管單

軟工實踐學習

bsp ima 增刪改查 pri 增刪 ext 處理 logs ring 經過這一段時間的ssh框架學習,通過老師帶我們完成一個項目後,我們需要自己從0開始,開始新的項目,重新搭建框架 這次我選擇的是庫存管理系統 首先依然是搭建hibernate,以及spring。

python 第一周 我的python成長記 一個月搞定python數據挖掘!(04)

數字 date .get raw dict 元素 upd 轉換成 efault 字符串 str 和 unicode str 字節流 unicode 字符流 (中文,英文,等等) => 如何轉換成計算機中的01代碼呢?   出現了編碼 ascii, iso8859

《C算法.1卷,基礎、數據結構、排序和搜索》pdf

line tom 排序 歸並 簡介 systems sys 計算 ans 下載地址:網盤下載 內容簡介 · · · · · · 《C算法》介紹了當今最重要的算法,共分3卷,《C算法(第1卷):基礎、數據結構、排序和摸索》是第1卷。第1卷分4部

c語言學習之選擇結構程序設計

c語言 選擇結構為了增加理解,寫的幾個小程序1:判斷三角形的成立以及輸出最大邊 練習前三種語句#include <stdio.h> int main() { int a,b,c; printf("請輸入三角形三邊長(邊為整數,不能輸入負數):"); scanf("%d%d%d", &a ,

python開發python基本數據類型列表,元組,字典

python開發 .com mage es2017 列表 基本 images 數據類型 切片 ##########列表:list########## 1.索引: 結果:eirc 2.切片 python開發(第三篇):python基本數據類型(列表,元組,字典)

王者榮耀交流協會 - 7次Scrum會議

學院 scrum 兩張 style 沒有 ges -s 安排 困難 1.例會照片 照片由王超(本人)拍攝,組內成員劉耀澤,高遠博,王磊,王玉玲,王超,任思佳,袁玥全部到齊。 2.時間跨度: 2017年11月2日 17:00 — 17:20 ,總計20分鐘。 3.地  點:

隨便玩玩之PostgreSQL表連接查詢

轉載 blog itl class net tle col res pan 隨便玩玩之PostgreSQL(第三章)表連接查詢 隨便玩玩之PostgreSQL 未經授權不得轉載 隨便玩玩之PostgreSQL(第三章)表連接查詢

1014 C語言程序設計教程課後習題6.4

content += 教程 print ons ont c語言程序設計 lld cnblogs 題目描述 求Sn=1!+2!+3!+4!+5!+…+n!之值,其中n是一個數字。 輸入 n 輸出 和 樣例輸入 5 樣例輸出 153 1 #include "stdio.h"

1013: C語言程序設計教程課後習題6.3

其中a是一個數字 blog += color turn sam c語言程序 [] c語言 題目描述 求Sn=a+aa+aaa+…+aa…aaa(有n個a)之值,其中a是一個數字。 例如:2+22+222+2222+22222(n=5),n由鍵盤輸入。 輸入 a 輸出 和 樣

軟件工程班四組作業完成情況

客戶端 流程圖 未能 操作 服務器 工作 工程 使用 基礎 在前兩天工作的基礎上,今天的工作內容在昨天給出的操作流程圖上繼續進行。期間遇到了一些問題,比如:quality center好像只能安裝在windows server操作系統上面,客戶端使用其實就是通

1024: C語言程序設計教程課後習題7.3

c語言程序 print clas 程序 scanf col class pri printf 題目描述 求一個3×3矩陣對角線元素之和。 輸入 矩陣 輸出 主對角線 副對角線 元素和 樣例輸入 1 2 3 1 1 1 3 2 1 樣例輸出 3 7 1 #include