ฟังก์ชันการสูญเสียใดที่ถูกต้องสำหรับการถดถอยโลจิสติก


30

ฉันอ่านเกี่ยวกับฟังก์ชั่นการสูญเสียสองรุ่นสำหรับการถดถอยโลจิสติกส์ซึ่งเป็นรุ่นใดที่ถูกต้องและเพราะเหตุใด

  1. จากMachine Learning , Zhou ZH (ภาษาจีน), ด้วย :β=(w,b) and βTx=wTx+b

    (1)l(β)=i=1m(yiβTxi+ln(1+eβTxi))

  2. จากหลักสูตรวิทยาลัยของฉันด้วย :zi=yif(xi)=yi(wTxi+b)

    (2)L(zi)=log(1+ezi)


ฉันรู้ว่าอันแรกคือการสะสมของตัวอย่างทั้งหมดและอันที่สองสำหรับตัวอย่างเดียว แต่ฉันอยากรู้มากขึ้นเกี่ยวกับความแตกต่างในรูปแบบของฟังก์ชันการสูญเสียสองอย่าง อย่างใดฉันมีความรู้สึกว่าพวกเขาจะเทียบเท่า

คำตอบ:


31

ความสัมพันธ์จะเป็นดังนี้:(z_i)l(β)=iL(zi)

กำหนดฟังก์ชั่นโลจิสติกเป็นZ}} พวกเขามีคุณสมบัติที่(z) หรือในคำอื่น ๆ :f(z)=ez1+ez=11+ezf(z)=1f(z)

11+ez=ez1+ez.

หากคุณนำทั้งสองฝ่ายกลับมาใช้บันทึกที่คุณได้รับ:

ln(1+ez)=ln(1+ez)+z.

ลบจากทั้งสองด้านและคุณควรเห็นสิ่งนี้:z

yiβTxi+ln(1+eyiβTxi)=L(zi).

แก้ไข:

ในขณะนี้ฉันกำลังอ่านคำตอบนี้อีกครั้งและสับสนเกี่ยวกับวิธีที่ฉันได้รับให้เท่ากับTx_i}) อาจมีการพิมพ์ผิดในคำถามเดิม-yiβTxi+ln(1+eβTxi)yiβTxi+ln(1+eyiβTxi)

แก้ไข 2:

ในกรณีที่ไม่มีการพิมพ์ผิดในคำถามต้นฉบับ @ManelMorales ดูเหมือนจะถูกต้องเพื่อดึงความสนใจไปที่ข้อเท็จจริงที่ว่าเมื่อฟังก์ชั่นความน่าจะเป็นสามารถเขียนเป็นเนื่องจากทรัพย์สินที่(z) ฉันกำลังเขียนอีกครั้งมันแตกต่างกันที่นี่เพราะเขาแนะนำกำกวมใหม่ในสัญกรณ์z_iส่วนที่เหลือต่อไปนี้โดยการลบล็อกโอกาสสำหรับแต่ละการเข้ารหัส ดูคำตอบของเขาด้านล่างสำหรับรายละเอียดเพิ่มเติมP ( Y i = y i ) = f ( y ฉันβ T x i ) f ( - z ) = 1 - f ( z ) z i yy{1,1}P(Yi=yi)=f(yiβTxi)f(z)=1f(z)ziy


41

OP ผิดพลาดเชื่อว่าความสัมพันธ์ระหว่างสองฟังก์ชั่นนี้เกิดจากจำนวนตัวอย่าง (เช่นเดียวกับทั้งหมด) อย่างไรก็ตามความแตกต่างที่เกิดขึ้นจริงเป็นเพียงวิธีที่เราเลือกฉลากการฝึกอบรมของเรา

ในกรณีของการจำแนกไบนารีเราอาจกำหนดฉลากหรือการ yy=±1y=0,1

ตามที่ได้มีการระบุไว้แล้วฟังก์ชันลอจิสติกเป็นตัวเลือกที่ดีเนื่องจากมีรูปแบบของความน่าจะเป็นคือและเป็น\ หากเราเลือกฉลากเราอาจมอบหมาย σ(z)σ(z)=1σ(z)σ(z)(0,1)z±y=0,1

P(y=1|z)=σ(z)=11+ezP(y=0|z)=1σ(z)=11+ez

ซึ่งสามารถเขียนได้มากขึ้นดานเป็น{1-y}P(y|z)=σ(z)y(1σ(z))1y

มันง่ายกว่าที่จะเพิ่มความน่าจะเป็นบันทึก การเพิ่มโอกาสในการบันทึกให้มากที่สุดนั้นเหมือนกับการลดความน่าจะเป็นในการลบบันทึก สำหรับตัวอย่างหลังจากทำการลอการิทึมธรรมชาติและการทำให้เข้าใจง่ายเราจะพบว่า:m{xi,yi}

l(z)=log(imP(yi|zi))=imlog(P(yi|zi))=imyizi+log(1+ezi)

แหล่งที่มาเต็มรูปแบบและข้อมูลเพิ่มเติมสามารถพบได้ในสมุดบันทึก jupyterนี้ ในทางกลับกันเราอาจใช้ป้ายกำกับแทน มันค่อนข้างชัดเจนแล้วว่าเราสามารถมอบหมายy=±1

P(y|z)=σ(yz).

นอกจากนี้ยังเป็นที่ชัดเจนว่า(-z) ทำตามขั้นตอนเดียวกับก่อนที่เราจะย่อขนาดในกรณีนี้ฟังก์ชั่นการสูญเสียP(y=0|z)=P(y=1|z)=σ(z)

L(z)=log(jmP(yj|zj))=jmlog(P(yj|zj))=jmlog(1+eyzj)

ในกรณีที่ขั้นตอนสุดท้ายตามมาหลังจากเราใช้ส่วนกลับซึ่งถูกเหนี่ยวนำโดยเครื่องหมายลบ ในขณะที่เราไม่ควรถือเอาสองรูปแบบนี้เนื่องจากในแต่ละรูปแบบมีค่าแตกต่างกัน แต่ทั้งสองแบบนี้เทียบเท่ากัน:y

yizi+log(1+ezi)log(1+eyzj)

กรณีเป็นเรื่องเล็กน้อยที่จะแสดง หากดังนั้นทางด้านซ้ายมือและทางด้านขวามือyi=1yi1yi=0yi=1

ในขณะที่อาจมีเหตุผลพื้นฐานว่าทำไมเรามีสองรูปแบบที่แตกต่างกัน (ดูทำไมมีสองสูตร / การสูญเสียลอจิสติกที่แตกต่างกัน? ) เหตุผลหนึ่งที่จะเลือกอดีตคือการพิจารณาในทางปฏิบัติ ในอดีตเราสามารถใช้คุณสมบัติเพื่อคำนวณและเล็กน้อยซึ่งทั้งสองอย่างนี้มีความจำเป็นสำหรับการวิเคราะห์คอนเวอร์เจนซ์ (เช่นเพื่อกำหนดความนูนของฟังก์ชันการสูญเสียโดยการคำนวณ Hessian )σ(z)/z=σ(z)(1σ(z))l(z)2l(z)


ฟังก์ชั่นการสูญเสียโลจิสติกเป็นนูนหรือไม่?
user85361

2
Log reg IS convex แต่ไม่ใช่ -convex ดังนั้นเราจึงไม่สามารถกำหนดได้ว่าระยะทางของการไล่ระดับสีจะมาบรรจบกันได้อย่างไร เราสามารถปรับรูปแบบของเพื่อให้มันนูนอย่างยิ่งโดยเพิ่มคำว่า normalization: ด้วยค่าคงที่ กำหนดฟังก์ชันใหม่ของเราให้เป็น stเป็น -strongly นูนและตอนนี้เราสามารถพิสูจน์ลู่ผูกพันของL'น่าเสียดายที่ตอนนี้เรากำลังลดฟังก์ชั่นที่แตกต่างออกไป! โชคดีที่เราสามารถแสดงให้เห็นว่าคุณค่าของฟังก์ชั่นที่ดีที่สุดของฟังก์ชั่นการทำให้เป็นปกตินั้นใกล้เคียงกับค่าที่เหมาะสมที่สุดของต้นฉบับ α ลิตรλ L ' ( Z ) = L ( Z ) + λ Z 2 ลิตร' ( Z ) λ L 'l(z)αlλl(z)=l(z)+λz2l(z)λl
Manuel Morales

สมุดบันทึกที่คุณอ้างถึงหายไปฉันได้รับการพิสูจน์อีกครั้ง: statlect.com/fundamentals-of-statistics/ …
Domi.Zhang

2
ฉันพบว่านี่เป็นคำตอบที่มีประโยชน์ที่สุด
mohit6up

@ManuelMorales คุณมีลิงค์ไปยังค่าที่เหมาะสมของฟังก์ชั่นปกติที่อยู่ใกล้กับต้นฉบับหรือไม่?
Mark

19

ฉันได้เรียนรู้ฟังก์ชันการสูญเสียสำหรับการถดถอยโลจิสติกดังนี้

โลจิสติกการถดถอยดำเนินการจัดหมวดหมู่ไบนารีและเพื่อให้ผลฉลากเป็นไบนารี 0 หรือ 1 Letจะเป็นไปได้ว่าการส่งออกไบนารี 1 ที่ได้รับการป้อนข้อมูลคุณลักษณะเวกเตอร์xค่าสัมประสิทธิ์คือน้ำหนักที่อัลกอริทึมพยายามเรียนรู้y x wP(y=1|x)yxw

P(y=1|x)=11+ewTx

เนื่องจากการถดถอยโลจิสติกเป็นไบนารีความน่าจะเป็นเป็นเพียง 1 ลบเทอมข้างบนP(y=0|x)

P(y=0|x)=111+ewTx

ฟังก์ชั่นการสูญเสียคือผลรวมของ (A) เอาต์พุตคูณด้วยและ (B) เอาต์พุตคูณด้วยสำหรับตัวอย่างการฝึกอบรมหนึ่งข้อสรุป มากกว่าตัวอย่างการฝึกอบรมy = 1 P ( y = 1 ) y = 0J(w)y=1P(y=1)y=0mP(y=0)m

J(w)=i=1my(i)logP(y=1)+(1y(i))logP(y=0)

โดยที่ระบุฉลากในข้อมูลการฝึกอบรมของคุณ ถ้าเช่นการฝึกอบรมมีป้ายชื่อของแล้วออกจากตัวตั้งในสถานที่ด้านซ้าย แต่ทำให้ตัวตั้งที่ถูกต้องกับกลายเป็น0ในทางตรงกันข้ามถ้าเช่นการฝึกอบรมมีแล้วตัวตั้งที่เหมาะสมกับระยะยังคงอยู่ในสถานที่ แต่ตัวตั้งซ้ายจะกลายเป็น0ความน่าจะเป็นบันทึกใช้สำหรับการคำนวณที่ง่าย i t h 1 y ( i ) = 1 1 - y ( i ) 0 y = 0 1y(i)ith1y(i)=11y(i)0y=0 01y(i)0

หากเราแทนที่และด้วยนิพจน์ก่อนหน้าเราจะได้รับ:P ( y = 0 )P(y=1)P(y=0)

J(w)=i=1my(i)log(11+ewTx)+(1y(i))log(111+ewTx)

คุณสามารถอ่านเพิ่มเติมเกี่ยวกับรูปแบบนี้ในทั้งเอกสารประกอบการบรรยาย Stanford


คำตอบนี้ยังให้มุมมองที่เกี่ยวข้องบางอย่างที่นี่
GeoMatt22

6
นิพจน์ที่คุณมีไม่ใช่การสูญเสีย (ที่จะย่อเล็กสุด) แต่เป็นโอกาสในการบันทึก (ที่จะขยายให้ใหญ่สุด)
xenocyon

2
@xenocyon จริง - สูตรเดียวกันนี้มักเขียนด้วยเครื่องหมายลบที่ใช้กับการรวมแบบเต็ม
Alex Klibisz

1

แทนที่จะเป็น Mean Squared Error เราใช้ฟังก์ชั่นต้นทุนที่เรียกว่า Cross-Entropy หรือที่เรียกว่า Log Loss การสูญเสียข้ามเอนโทรปีสามารถแบ่งออกเป็นสองฟังก์ชั่นค่าใช้จ่ายแยกต่างหาก: หนึ่งสำหรับ y = 1 และหนึ่งสำหรับ y = 0

j(θ)=1mi=1mCost(hθ(x(i)),y(i))Cost(hθ(x),y)=log(hθ(x))if y=1Cost(hθ(x),y)=log(1hθ(x))if y=0

เมื่อเรารวบรวมพวกเขาเรามี:

j(θ)=1mi=1m[y(i)log(hθ(x(i)))+(1y(i))log(1hθ(x)(i))]

คูณด้วยและในสมการข้างต้นเป็นเคล็ดลับส่อเสียดที่ช่วยให้เราใช้สมการเดียวกันในการแก้ปัญหาสำหรับทั้งและกรณี หากด้านแรกจะถูกยกเลิก หากด้านที่สองจะถูกยกเลิก ในทั้งสองกรณีเราจะดำเนินการตามที่เราต้องการเท่านั้นy(1y)y=1y=0y=0y=1

หากคุณไม่ต้องการใช้การforวนซ้ำคุณสามารถลองแบบเวกเตอร์ของสมการข้างต้น

h=g(Xθ)J(θ)=1m(yTlog(h)(1y)Tlog(1h))

คำอธิบายทั้งหมดสามารถเป็นมุมมองในการเรียนรู้เครื่อง Cheatsheet

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.