Sigmoid Là Gì

1. Giới thiệu 2. Hàm mất mát và cách thức tối ưu 3. lấy ví dụ với Pyeo hẹp 4. Một vài đặc thù của Logistic Regression

1. Giới thiệu

Nhắc lại nhị quy mô con đường tính

Hai quy mô tuyến tính (linear models) Linear Regression cùng Perceptron Learning Algorithm (PLA) bọn họ đã biết đều sở hữu chung một dạng:

trong những số ấy (f()) được điện thoại tư vấn là activation function, cùng (mathbfx) được gọi là tài liệu mở rộng với (x_0 = 1) được phân phối để dễ ợt mang đến việc tính tân oán. Với linear regression thì (f(s) = s), với PLA thì (f(s) = extsgn(s)). Trong linear regression, tích vô phía (mathbfw^Tmathbfx) được thẳng thực hiện để dự đoán thù output (y), một số loại này phù hợp nếu họ buộc phải dự đoán một giá trị thực của đầu ra output không xẩy ra chặn bên trên và dưới. Trong PLA, đầu ra output chỉ nhấn 1 trong hai giá trị (1) hoặc (-1 ), phù hợp cùng với những bài toán thù binary classification.

Bạn đang xem: Sigmoid là gì

Trong bài này, tôi đang trình làng quy mô trang bị ba với 1 activation khác, được thực hiện cho các bài xích tân oán flexible hơn. Trong dạng này, đầu ra hoàn toàn có thể được miêu tả dưới dạng phần trăm (probability). Ví dụ: phần trăm thi đỗ giả dụ biết thời gian ôn thi, Xác Suất sau này gồm mưa dựa vào đều thông tin đo được trong ngày bây giờ,… Mô hình bắt đầu này của bọn họ có tên là logistic regression. Mô hình này giống với linear regression sinh sống kỹ lưỡng áp ra output là số thực, với tương đương cùng với PLA nghỉ ngơi việc đầu ra output bị chặn (trong khúc (<0, 1>)). Mặc mặc dù trong thương hiệu bao gồm cất từ bỏ regression, logistic regression thường được thực hiện nhiều hơn thế nữa cho các bài xích toán thù classification.

Một ví dụ nhỏ

Tôi xin được thực hiện một ví dụ bên trên Wikipedia:

Một nhóm trăng tròn sinc viên dành thời hạn trong khoảng trường đoản cú 0 mang lại 6 giờ đồng hồ mang lại bài toán ôn thi. Thời gian ôn thi này ảnh hưởng cho Phần Trăm sinh viên vượt qua kỳ thi như vậy nào?

Kết trái thu được như sau:

Hours Pass Hours Pass
.5 0 2.75 1
.75 0 3 0
1 0 3.25 1
1.25 0 3.5 0
1.5 0 4 1
1.75 0 4.25 1
1.75 1 4.5 1
2 0 4.75 1
2.25 1 5 1
2.5 0 5.5 1

Mặc dù cho có một chút bất công khi tham gia học 3.5 giờ đồng hồ thì tđuổi, còn học tập 1.75 giờ đồng hồ thì lại đỗ, nhìn tổng thể, học càng nhiều thì tài năng đỗ càng cao. PLA cần yếu áp dụng được mang lại bài xích tân oán này vì chưng bắt buộc nói một bạn học bao nhiêu giờ đồng hồ thì 100% trượt tốt đỗ, cùng thực tế là dữ liệu này cũng không linearly separable (điệu kiện nhằm PLA có thể có tác dụng việc). Crúc ý rằng những điểm màu đỏ và xanh được vẽ sinh sống nhị tung độ không giống nhau để luôn tiện mang đến câu hỏi minh họa. Các điểm đó được vẽ cần sử dụng cả tài liệu đầu vào (mathbfx) và Áp sạc ra (y). lúc ta nói linearly seperable là lúc ta chỉ cần sử dụng tài liệu nguồn vào (mathbfx).

Chúng ta biểu diễn các đặc điểm đó trên vật thị giúp xem rõ hơn:


*

Nhận thấy rằng cả linear regression cùng PLA hầu như không tương xứng với bài toán này, chúng ta bắt buộc một quy mô flexible hơn.

Mô hình Logistic Regression

Đầu ra dự đân oán của:

Linear Regression: PLA:

Đầu ra dự đoán của logistic regression thường xuyên được viết bình thường dưới dạng:

Trong số đó ( heta) được Hotline là logistic function. Một số activation cho quy mô tuyến tính được mang đến trong hình dưới đây:


*

Đường color quà màn biểu diễn linear regression. Đường này không xẩy ra ngăn bắt buộc không phù hợp đến bài toán này. Có một trick nhỏ để đưa nó về dạng bị chặn: cắt phần bé dại rộng 0 bằng phương pháp cho chúng bằng 0, cắt các đa số rộng 1 bằng phương pháp cho cái đó bởi 1. Sau đó lấy điểm trên đường thẳng này còn có tung độ bởi 0.5 làm cho điểm phân loại hai class, đó cũng chưa hẳn là một trong sàng lọc tốt. Giả sử tất cả thêm vài chúng ta sinc viên tiêu biểu ôn tùa tới đôi mươi giờ đồng hồ và, tất nhiên, thi đỗ. khi vận dụng quy mô linear regression nlỗi hình tiếp sau đây và đem mốc 0.5 nhằm phân lớp, cục bộ sinch viên thi tđuổi vẫn được dự đoán thù là trượt, tuy thế không hề ít sinc viên thi đỗ cũng được dự đoán là tđuổi (nếu ta coi điểm x màu xanh lá cây lục là ngưỡng cứng để lấy ra kết luận). Rõ ràng đó là một quy mô không tốt. Anh con trai sinh viên vượt trội này sẽ kéo theo khôn xiết nhiều người khác bị trượt.
*

Đường màu đỏ (chỉ khác với activation function của PLA tại vị trí nhì class là 0 cùng 1 ráng do -1 cùng 1) cũng thuộc dạng ngưỡng cứng (hard threshold). PLA ko hoạt động trong bài toán này vì chưng tài liệu đang mang đến không linearly separable.

Các con đường màu xanh lá cây lam cùng xanh lục cân xứng với bài bác toán của chúng ta rộng. Chúng bao gồm một vài đặc điểm đặc trưng sau:

Là hàm số liên tiếp nhận quý giá thực, bị ngăn trong tầm ((0, 1)). Nếu coi điểm có tung độ là 1/2 làm điểm phân loại thì những điểm càng xa đặc điểm này về phía phía trái có giá trị càng sát 0. Ngược lại, các điểm càng xa đặc điểm đó về phía nên có giá trị càng gần 1. Điều này khớp cùng với nhận xét rằng học tập càng những thì phần trăm đỗ càng cao với ngược trở lại. Mượt (smooth) đề xuất bao gồm đạo hàm hầu như khu vực, hoàn toàn có thể được lợi trong việc tối ưu.

Sigmoid function

Trong số những hàm số có 3 đặc điểm nói bên trên thì hàm sigmoid:được áp dụng các độc nhất, vì chưng nó bị chặn trong tầm ((0, 1)). Thêm nữa:điều đặc biệt hơn nữa:<egineqnarraysigma’(s) &=& frace^-s(1 + e^-s)^2 &=& frac11 + e^-s frace^-s1 + e^-s &=& sigma(s)(1 - sigma(s))endeqnarray>Công thức đạo hàm đơn giản nỗ lực này góp hàm số này được thực hiện thoáng rộng. Ở phần sau, tôi vẫn lý giải vấn đề fan ta đã tìm thấy hàm số đặc trưng này như thế nào.

Dường như, hàm tanh cũng hay được sử dụng: < exttanh(s) = frace^s - e^-se^s + e^-s>

Hàm số này nhấn quý hiếm trong vòng ((-1, 1)) nhưng mà rất có thể dễ dãi chuyển nó về khoảng tầm ((0, 1)). quý khách hàng đọc rất có thể chứng tỏ được:< exttanh(s) = 2sigma(2s) - 1>

2. Hàm mất đuối với cách thức buổi tối ưu

Xây dựng hàm mất mát

Với quy mô nhỏng trên (các activation màu xanh lam với lục), ta hoàn toàn có thể đưa sử rằng Xác Suất để một điểm dữ liệu (mathbfx) lâm vào hoàn cảnh class 1 là (f(mathbfw^Tmathbfx)) cùng lâm vào class 0 là (1 - f(mathbfw^Tmathbfx)). Với quy mô được trả sử như vậy, cùng với các điểm dữ liệu training (đang biết đầu ra (y)), ta hoàn toàn có thể viết nlỗi sau:

<egineqnarrayP(y_i = 1 | mathbfx_i; mathbfw) &=và &f(mathbfw^Tmathbfx_i) ~~(1) P(y_i = 0 | mathbfx_i; mathbfw) &=& 1 - &f(mathbfw^Tmathbfx_i) ~~(2) \endeqnarray>trong những số đó ( P(y_i = 1 | mathbfx_i; mathbfw)) được hiểu là xác suất xẩy ra sự khiếu nại cổng output (y_i = 1) lúc biết tham số quy mô (mathbfw) và tài liệu nguồn vào (mathbfx_i). quý khách hiểu rất có thể xem thêm Xác suất bao gồm ĐK. Mục đích của chúng ta là kiếm tìm các thông số (mathbfw) làm thế nào để cho (f(mathbfw^Tmathbfx_i)) càng ngay sát với một càng giỏi với những điểm tài liệu ở trong class 1 và càng ngay gần với 0 càng giỏi cùng với đều điểm trực thuộc class 0.

Ký hiệu (z_i = f(mathbfw^Tmathbfx_i)) cùng viết gộp lại nhì biểu thức bên trên ta có:

Biểu thức này là tương đương với nhì biểu thức ((1)) và ((2)) sống bên trên bởi khi (y_i=1), phần vật dụng nhì của vế đề nghị đang triệt tiêu, khi (y_i = 0), phần trước tiên sẽ ảnh hưởng triệt tiêu! Chúng ta mong mô hình ngay gần cùng với tài liệu đã đến độc nhất vô nhị, tức phần trăm này đạt cực hiếm tối đa.

Xem thêm: Cúp C2 Là Gì ? Những Thông Tin Cơ Bản Về Giải Thi Đấu

Xét toàn cục training set cùng với (mathbfX = in mathbbR^d imes N) và (mathbfy = ), chúng ta bắt buộc tìm (mathbfw) để biểu thức tiếp sau đây đạt quý hiếm phệ nhất:ở chỗ này, ta cũng ký hiệu (mathbfX, y) như các biến chuyển bỗng dưng (random variables). Nói giải pháp khác:

Bài toán tìm kiếm tmê mẩn số để mô hình gần cùng với tài liệu tốt nhất trên đây mang tên hotline chung là bài xích toán maximum likelihood estimation với hàm số phía sau (argmax) được Call là likelihood function. Lúc làm việc cùng với các bài bác toán thù Machine Learning thực hiện các mô hình xác suất thống kê lại, họ đã chạm chán lại những bài xích toán thù ở trong dạng này, hoặc maximum a posteriori estimation, không ít. Tôi sẽ dành 1 bài bác không giống nhằm nói tới hai dạng bài toán này.

Giả sử thêm rằng những điểm tài liệu được ra đời một phương pháp thiên nhiên độc lập với nhau (independent), ta có thể viết:<egineqnarrayP(mathbfy|mathbfX; mathbfw) &=& prod_i=1^N P(y_i| mathbfx_i; mathbfw) &=và prod_i=1^N z_i^y_i(1 - z_i)^1- y_iendeqnarray>với (prod) là ký hiệu của tích. quý khách đọc có thể muốn tham khảo thêm về Độc lập thống kê lại.

Trực tiếp buổi tối ưu hàm số này theo (mathbfw) liếc qua không solo giản! bên cạnh đó, Lúc (N) phệ, tích của (N) số nhỏ dại rộng 1 hoàn toàn có thể mang tới không đúng số trong tính toán (numerial error) vị tích là một vài thừa nhỏ. Một phương thức hay được áp dụng chính là đem logarit thoải mái và tự nhiên (cơ số (e)) của likelihood function biến đổi phép nhân thành phnghiền cộng với để tránh Việc số vượt nhỏ tuổi. Sau kia rước ngược lốt và để được một hàm và coi nó là hàm mất mát. Hiện nay bài bác toán search cực hiếm lớn nhất (maximum likelihood) đổi mới bài bác tân oán search quý giá nhỏ dại tuyệt nhất của hàm mất non (hàm này có cách gọi khác là negative log likelihood):<egineqnarrayJ(mathbfw) = -log P(mathbfy|mathbfX; mathbfw) = -sum_i=1^N(y_i log z_i + (1-y_i) log (1 - z_i))endeqnarray>với chăm chú rằng (z_i) là 1 trong những hàm số của (mathbfw). Bạn đọc tạm bợ ghi nhớ biểu thức vế yêu cầu mang tên gọi là cross entropy, thường xuyên được thực hiện nhằm đo khoảng cách thân hai phân pân hận (distributions). Trong bài bác toán thù đã xét, một phân pân hận là dữ liệu được đến, cùng với xác suất chỉ với 0 hoặc 1; phân phối còn sót lại được xem theo quy mô logistic regression. Khoảng cách thân nhì phân phối hận nhỏ đồng nghĩa tương quan cùng với vấn đề (dường như phân minh là) nhị phân phối hận kia rất sát nhau. Tính hóa học ví dụ của hàm số này sẽ được nhắc trong một bài không giống cơ mà khoảng đặc biệt của khoảng cách thân nhị phân phối là to hơn.

Chụ ý: Trong machine learning, logarit thập phân không nhiều được sử dụng, bởi vậy (log) hay được dùng làm cam kết hiệu logarit thoải mái và tự nhiên.

Tối ưu hàm mất mát

Chúng ta lại thực hiện phương thức Stochastic Gradient Descent (SGD) ở đây (Quý Khách đọc được khuyến khích phát âm SGD trước lúc gọi phần này) . Hàm mất đuối với có một điểm tài liệu ((mathbfx_i, y_i)) là:

Với đạo hàm:<egineqnarrayfracpartial J(mathbfw; mathbfx_i, y_i)partial mathbfw &=& -(fracy_iz_i - frac1- y_i1 - z_i ) fracpartial z_ipartial mathbfw &=và fracz_i - y_iz_i(1 - z_i) fracpartial z_ipartial mathbfw ~~~~~~ (3)endeqnarray>

Để mang đến biểu thức này trnghỉ ngơi nên gọnđẹp rộng, bọn họ đang tra cứu hàm (z = f(mathbfw^Tmathbfx)) sao để cho mẫu số bị triệt tiêu. Nếu đặt (s = mathbfw^Tmathbfx), họ vẫn có:Một biện pháp trực quan tiền độc nhất, ta đã tìm kiếm hàm số (z = f(s)) sao cho:để triệt tiêu mẫu số trong biểu thức ((3)). Chúng ta thuộc khởi động một ít với phương trình vi phân dễ dàng này. Phương trình ((4)) tương đương với:<egineqnarray&fracpartial zz(1-z) &=& partial s \Leftrightarrow và (frac1z + frac11 - z)partial z &=&partial s \Leftrightarrow và log z - log(1 - z) &=& s \Leftrightarrow & log fracz1 - z &=& s \Leftrightarrow và fracz1 - z &=& e^s \Leftrightarrow và z &=và e^s (1 - z) \Leftrightarrow & z = frace^s1 +e^s &=&frac11 + e^-s = sigma(s)endeqnarray>Đến đây, tôi hy vọng các bạn đang đọc hàm số sigmoid được tạo nên ra sao.

Crúc ý: Trong việc giải phương thơm trình vi phân sống bên trên, tôi sẽ bỏ lỡ hằng số lúc rước nguim hàm nhì vế. Dù thế, bài toán này không ảnh hưởng nhiều cho tới công dụng.

Công thức cập nhật mang đến logistic sigmoid regression

Tới trên đây, bạn đọc hoàn toàn có thể kiểm tra rằng:Qúa đẹp!

Và công thức cập nhật (theo thuật tân oán SGD) đến logistic regression là: Khá 1-1 giản! Và, như thường lệ, họ sẽ có vài ví dụ với Pynhỏ nhắn.

3. lấy ví dụ với Python

ví dụ như cùng với dữ liệu 1 chiều

Quay quay lại cùng với ví dụ nêu ở vị trí Giới thiệu. Thứ nhất ta bắt buộc knhì báo vài thư viện cùng dữ liệu: