.. _sec_prob: Xác suất ======== Trong một số hình thức này hay hình thức khác, machine learning là tất cả về việc đưa ra dự đoán. Chúng tôi có thể muốn dự đoán \* xác suất\* của một bệnh nhân bị đau tim trong năm tới, với tiền sử lâm sàng của họ. Trong phát hiện bất thường, chúng ta có thể muốn đánh giá mức độ\* tương tự\* một tập hợp các bài đọc từ động cơ phản lực của máy bay phản lực sẽ như thế nào, nó hoạt động bình thường. Trong học tập củng cố, chúng tôi muốn một đại lý hành động thông minh trong một môi trường. Điều này có nghĩa là chúng ta cần suy nghĩ về xác suất nhận được phần thưởng cao theo từng hành động có sẵn. Và khi chúng ta xây dựng hệ thống giới thiệu, chúng ta cũng cần phải suy nghĩ về xác suất. Ví dụ: giả thuyết \*rằng chúng tôi đã làm việc cho một người bán sách trực tuyến lớn. Chúng tôi có thể muốn ước tính xác suất mà một người dùng cụ thể sẽ mua một cuốn sách cụ thể. Đối với điều này, chúng ta cần sử dụng ngôn ngữ xác suất. Toàn bộ các khóa học, chuyên ngành, luận án, nghề nghiệp và thậm chí cả các bộ phận, được dành cho xác suất. Vì vậy, một cách tự nhiên, mục tiêu của chúng tôi trong phần này là không dạy toàn bộ chủ đề. Thay vào đó, chúng tôi hy vọng sẽ đưa bạn ra khỏi mặt đất, để dạy bạn vừa đủ để bạn có thể bắt đầu xây dựng các mô hình học sâu đầu tiên của mình và cung cấp cho bạn đủ hương vị cho chủ đề mà bạn có thể bắt đầu tự khám phá nó nếu bạn muốn. Chúng tôi đã gọi xác suất trong các phần trước mà không cần khớp nối chính xác chúng là gì hoặc đưa ra một ví dụ cụ thể. Chúng ta hãy nghiêm túc hơn bây giờ bằng cách xem xét trường hợp đầu tiên: phân biệt mèo và chó dựa trên các bức ảnh. Điều này nghe có vẻ đơn giản nhưng nó thực sự là một thách thức ghê gớm. Để bắt đầu, khó khăn của vấn đề có thể phụ thuộc vào độ phân giải của hình ảnh. .. _fig_cat_dog: .. figure:: ../img/cat-dog-pixels.png :width: 300px Images of varying resolutions (:math:`10 \times 10`, :math:`20 \times 20`, :math:`40 \times 40`, :math:`80 \times 80`, and :math:`160 \times 160` pixels). Như thể hiện trong :numref:`fig_cat_dog`, trong khi con người dễ dàng nhận ra mèo và chó ở độ phân giải :math:`160 \times 160` pixel, nó trở nên khó khăn ở :math:`40 \times 40` pixel và bên cạnh không thể ở :math:`10 \times 10` pixel. Nói cách khác, khả năng của chúng ta để nói với mèo và chó xa nhau ở một khoảng cách lớn (và do đó độ phân giải thấp) có thể tiếp cận đoán không hiểu biết. Xác suất cho chúng ta một cách lý luận chính thức về mức độ chắc chắn của chúng ta. Nếu chúng ta hoàn toàn chắc chắn rằng hình ảnh mô tả một con mèo, chúng ta nói rằng \* xác suất\* rằng nhãn tương ứng :math:`y` là “mèo”, ký hiệu :math:`P(y=` “mèo"\ :math:`)` bằng :math:`1`. Nếu chúng tôi không có bằng chứng để gợi ý rằng :math:`y =` “mèo” hoặc :math:`y =` “chó” đó, thì chúng ta có thể nói rằng hai khả năng là như nhau *likely* thể hiện điều này như :math:`P(y=` “mèo"\ :math:`) = P(y=` “chó"\ :math:`) = 0.5`. Nếu chúng ta hợp lý tự tin, nhưng không chắc chắn rằng hình ảnh mô tả một con mèo, chúng ta có thể gán một xác suất :math:`0.5 < P(y=` “mèo"\ :math:`) < 1`. Bây giờ hãy xem xét trường hợp thứ hai: đưa ra một số dữ liệu theo dõi thời tiết, chúng tôi muốn dự đoán xác suất nó sẽ mưa ở Đài Bắc vào ngày mai. Nếu đó là mùa hè, mưa có thể đi kèm với xác suất 0,5. Trong cả hai trường hợp, chúng tôi có một số giá trị quan tâm. Và trong cả hai trường hợp, chúng tôi không chắc chắn về kết quả. Nhưng có một sự khác biệt chính giữa hai trường hợp. Trong trường hợp đầu tiên này, hình ảnh trên thực tế là chó hoặc một con mèo, và chúng tôi chỉ không biết cái nào. Trong trường hợp thứ hai, kết quả thực sự có thể là một sự kiện ngẫu nhiên, nếu bạn tin vào những điều như vậy (và hầu hết các nhà vật lý làm). Vì vậy, xác suất là một ngôn ngữ linh hoạt để lý luận về mức độ chắc chắn của chúng ta, và nó có thể được áp dụng hiệu quả trong một tập hợp rộng lớn các ngữ cảnh. Lý thuyết xác suất cơ bản ------------------------- Nói rằng chúng tôi đã chết và muốn biết cơ hội nhìn thấy 1 chứ không phải là một chữ số khác. Nếu chết là công bằng, tất cả sáu kết quả :math:`\{1, \ldots, 6\}` đều có khả năng xảy ra như nhau, và do đó chúng ta sẽ thấy một :math:`1` trong một trong sáu trường hợp. Chính thức chúng tôi tuyên bố rằng :math:`1` xảy ra với xác suất :math:`\frac{1}{6}`. Đối với một cái chết thực sự mà chúng tôi nhận được từ một nhà máy, chúng ta có thể không biết những tỷ lệ đó và chúng tôi sẽ cần phải kiểm tra xem nó có bị nhiễm bẩn hay không. Cách duy nhất để điều tra khuôn là đúc nó nhiều lần và ghi lại kết quả. Đối với mỗi diễn viên của khuôn, chúng ta sẽ quan sát một giá trị trong :math:`\{1, \ldots, 6\}`. Với những kết quả này, chúng tôi muốn điều tra xác suất quan sát từng kết quả. Một cách tiếp cận tự nhiên cho mỗi giá trị là lấy số lượng cá nhân cho giá trị đó và chia nó cho tổng số lần tung. Điều này cho chúng ta một \* ước tính\* về xác suất của một *sự kiện* nhất định. Quy luật \* số lượng lớn\* cho chúng ta biết rằng khi số lượng ném tăng lên ước tính này sẽ tiến gần hơn và gần hơn với xác suất cơ bản thực sự. Trước khi đi sâu vào chi tiết về những gì đang xảy ra ở đây, chúng ta hãy thử nó. Để bắt đầu, chúng ta hãy nhập các gói cần thiết. .. raw:: html
mxnetpytorchtensorflow
.. raw:: html
.. code:: python %matplotlib inline import random from mxnet import np, npx from d2l import mxnet as d2l npx.set_np() .. raw:: html
.. raw:: html
.. code:: python %matplotlib inline import torch from torch.distributions import multinomial from d2l import torch as d2l .. raw:: html
.. raw:: html
.. code:: python %matplotlib inline import numpy as np import tensorflow as tf import tensorflow_probability as tfp from d2l import tensorflow as d2l .. raw:: html
.. raw:: html
Tiếp theo, chúng ta sẽ muốn có thể đúc chết. Trong thống kê, chúng tôi gọi quá trình vẽ ví dụ này từ phân phối xác suất \* mẫu\ *. Phân phối gán xác suất cho một số lựa chọn rời rạc được gọi là *\ phân phối đa ngôn ngữ\ *. Chúng tôi sẽ đưa ra một định nghĩa chính thức hơn về *\ phân phối\* sau đó, nhưng ở mức cao, hãy nghĩ về nó như chỉ là một nhiệm vụ probabilities xác suất to events các sự kiện. Để vẽ một mẫu duy nhất, chúng tôi chỉ cần vượt qua một vector xác suất. Đầu ra là một vectơ khác có cùng độ dài: giá trị của nó tại chỉ số :math:`i` là số lần kết quả lấy mẫu tương ứng với :math:`i`. .. raw:: html
mxnetpytorchtensorflow
.. raw:: html
.. code:: python fair_probs = [1.0 / 6] * 6 np.random.multinomial(1, fair_probs) .. parsed-literal:: :class: output array([0, 0, 0, 1, 0, 0], dtype=int64) .. raw:: html
.. raw:: html
.. code:: python fair_probs = torch.ones([6]) / 6 multinomial.Multinomial(1, fair_probs).sample() .. parsed-literal:: :class: output tensor([0., 0., 0., 0., 1., 0.]) .. raw:: html
.. raw:: html
.. code:: python fair_probs = tf.ones(6) / 6 tfp.distributions.Multinomial(1, fair_probs).sample() .. parsed-literal:: :class: output .. raw:: html
.. raw:: html
Nếu bạn chạy sampler một loạt các lần, bạn sẽ thấy rằng bạn nhận ra các giá trị ngẫu nhiên mỗi lần. Như với việc ước tính tính công bằng của khuôn, chúng ta thường muốn tạo ra nhiều mẫu từ cùng một phân phối. Nó sẽ là không thể chịu nổi chậm để làm điều này với một vòng lặp Python ``for``, vì vậy chức năng chúng tôi đang sử dụng hỗ trợ vẽ nhiều mẫu cùng một lúc, trả về một loạt các mẫu độc lập trong bất kỳ hình dạng nào chúng ta có thể mong muốn. .. raw:: html
mxnetpytorchtensorflow
.. raw:: html
.. code:: python np.random.multinomial(10, fair_probs) .. parsed-literal:: :class: output array([1, 1, 5, 1, 1, 1], dtype=int64) .. raw:: html
.. raw:: html
.. code:: python multinomial.Multinomial(10, fair_probs).sample() .. parsed-literal:: :class: output tensor([2., 2., 0., 2., 1., 3.]) .. raw:: html
.. raw:: html
.. code:: python tfp.distributions.Multinomial(10, fair_probs).sample() .. parsed-literal:: :class: output .. raw:: html
.. raw:: html
Bây giờ chúng ta đã biết làm thế nào để lấy mẫu cuộn của một khuôn, chúng ta có thể mô phỏng 1000 cuộn. Sau đó chúng ta có thể đi qua và đếm, sau mỗi 1000 cuộn, bao nhiêu lần mỗi số được cuộn. Cụ thể, chúng tôi tính toán tần số tương đối như ước tính xác suất thực sự. .. raw:: html
mxnetpytorchtensorflow
.. raw:: html
.. code:: python counts = np.random.multinomial(1000, fair_probs).astype(np.float32) counts / 1000 .. parsed-literal:: :class: output array([0.162, 0.149, 0.178, 0.17 , 0.166, 0.175]) .. raw:: html
.. raw:: html
.. code:: python # Store the results as 32-bit floats for division counts = multinomial.Multinomial(1000, fair_probs).sample() counts / 1000 # Relative frequency as the estimate .. parsed-literal:: :class: output tensor([0.1680, 0.1850, 0.1690, 0.1700, 0.1560, 0.1520]) .. raw:: html
.. raw:: html
.. code:: python counts = tfp.distributions.Multinomial(1000, fair_probs).sample() counts / 1000 .. parsed-literal:: :class: output .. raw:: html
.. raw:: html
Bởi vì chúng tôi tạo ra dữ liệu từ một chết công bằng, chúng tôi biết rằng mỗi kết quả có xác suất thực sự :math:`\frac{1}{6}`, khoảng :math:`0.167`, vì vậy các ước tính đầu ra trên trông tốt. Chúng ta cũng có thể hình dung cách các xác suất này hội tụ theo thời gian hướng tới xác suất thực sự. Hãy để chúng tôi tiến hành 500 nhóm thí nghiệm trong đó mỗi nhóm vẽ 10 mẫu. .. raw:: html
mxnetpytorchtensorflow
.. raw:: html
.. code:: python counts = np.random.multinomial(10, fair_probs, size=500) cum_counts = counts.astype(np.float32).cumsum(axis=0) estimates = cum_counts / cum_counts.sum(axis=1, keepdims=True) d2l.set_figsize((6, 4.5)) for i in range(6): d2l.plt.plot(estimates[:, i].asnumpy(), label=("P(die=" + str(i + 1) + ")")) d2l.plt.axhline(y=0.167, color='black', linestyle='dashed') d2l.plt.gca().set_xlabel('Groups of experiments') d2l.plt.gca().set_ylabel('Estimated probability') d2l.plt.legend(); .. figure:: output_probability_245b7d_51_0.svg .. raw:: html
.. raw:: html
.. code:: python counts = multinomial.Multinomial(10, fair_probs).sample((500,)) cum_counts = counts.cumsum(dim=0) estimates = cum_counts / cum_counts.sum(dim=1, keepdims=True) d2l.set_figsize((6, 4.5)) for i in range(6): d2l.plt.plot(estimates[:, i].numpy(), label=("P(die=" + str(i + 1) + ")")) d2l.plt.axhline(y=0.167, color='black', linestyle='dashed') d2l.plt.gca().set_xlabel('Groups of experiments') d2l.plt.gca().set_ylabel('Estimated probability') d2l.plt.legend(); .. figure:: output_probability_245b7d_54_0.svg .. raw:: html
.. raw:: html
.. code:: python counts = tfp.distributions.Multinomial(10, fair_probs).sample(500) cum_counts = tf.cumsum(counts, axis=0) estimates = cum_counts / tf.reduce_sum(cum_counts, axis=1, keepdims=True) d2l.set_figsize((6, 4.5)) for i in range(6): d2l.plt.plot(estimates[:, i].numpy(), label=("P(die=" + str(i + 1) + ")")) d2l.plt.axhline(y=0.167, color='black', linestyle='dashed') d2l.plt.gca().set_xlabel('Groups of experiments') d2l.plt.gca().set_ylabel('Estimated probability') d2l.plt.legend(); .. figure:: output_probability_245b7d_57_0.svg .. raw:: html
.. raw:: html
Mỗi đường cong rắn tương ứng với một trong sáu giá trị của khuôn và cho xác suất ước tính của chúng ta rằng khuôn biến giá trị đó như được đánh giá sau mỗi nhóm thí nghiệm. Đường đen đứt nét cho xác suất cơ bản thực sự. Khi chúng ta nhận được nhiều dữ liệu hơn bằng cách tiến hành nhiều thí nghiệm hơn, các đường cong rắn :math:`6` hội tụ về xác suất thực sự. Tiên đề của lý thuyết xác suất ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Khi xử lý các cuộn của một chết, chúng tôi gọi bộ :math:`\mathcal{S} = \{1, 2, 3, 4, 5, 6\}` là \* không gian mẫu\* hoặc *không gian kết thúc*, trong đó mỗi phần tử là một *kết thúc*. Một *event* là một tập hợp các kết quả từ một không gian mẫu nhất định. Ví dụ: “nhìn thấy một :math:`5`" (:math:`\{5\}`) và “nhìn thấy một số lẻ” (:math:`\{1, 3, 5\}`) đều là những sự kiện hợp lệ của việc lăn chết. Lưu ý rằng nếu kết quả của một thí nghiệm ngẫu nhiên là trong sự kiện :math:`\mathcal{A}`, thì sự kiện :math:`\mathcal{A}` đã xảy ra. Điều đó có nghĩa là, nếu :math:`3` chấm đối mặt sau khi lăn chết, kể từ :math:`3 \in \{1, 3, 5\}`, chúng ta có thể nói rằng sự kiện “nhìn thấy một số lẻ” đã xảy ra. Về mặt chính thức, *xác suất* có thể được coi là một hàm ánh xạ một tập hợp thành giá trị thực. Xác suất của một sự kiện :math:`\mathcal{A}` trong không gian mẫu đã cho :math:`\mathcal{S}`, ký hiệu là :math:`P(\mathcal{A})`, thỏa mãn các thuộc tính sau: - Đối với bất kỳ sự kiện nào :math:`\mathcal{A}`, xác suất của nó không bao giờ tiêu cực, tức là, :math:`P(\mathcal{A}) \geq 0`; - Xác suất của toàn bộ không gian mẫu là :math:`1`, tức là, :math:`P(\mathcal{S}) = 1`; - Đối với bất kỳ chuỗi các sự kiện có thể đếm được :math:`\mathcal{A}_1, \mathcal{A}_2, \ldots` mà là \* loại trừ lẫn nhau\* (:math:`\mathcal{A}_i \cap \mathcal{A}_j = \emptyset` cho tất cả :math:`i \neq j`), xác suất rằng bất kỳ xảy ra là bằng tổng xác suất cá nhân của họ, tức là, :math:`P(\bigcup_{i=1}^{\infty} \mathcal{A}_i) = \sum_{i=1}^{\infty} P(\mathcal{A}_i)`. Đây cũng là các tiên đề của lý thuyết xác suất, được đề xuất bởi Kolmogorov năm 1933. Nhờ hệ thống tiên đề này, chúng ta có thể tránh được bất kỳ tranh chấp triết học nào về tính ngẫu nhiên; thay vào đó, chúng ta có thể lý luận nghiêm ngặt với một ngôn ngữ toán học. Ví dụ, bằng cách cho phép sự kiện :math:`\mathcal{A}_1` là toàn bộ không gian mẫu và :math:`\mathcal{A}_i = \emptyset` cho tất cả :math:`i > 1`, chúng ta có thể chứng minh rằng :math:`P(\emptyset) = 0`, tức là xác suất của một sự kiện bất khả thi là :math:`0`. Biến ngẫu nhiên ~~~~~~~~~~~~~~~ Trong thí nghiệm ngẫu nhiên của chúng tôi về đúc chết, chúng tôi đã giới thiệu khái niệm về một biến thể ngẫu nhiên\ *. Một biến ngẫu nhiên có thể khá nhiều bất kỳ số lượng và không phải là xác định. Nó có thể mất một giá trị trong một tập hợp các khả năng trong một thí nghiệm ngẫu nhiên. Hãy xem xét một biến ngẫu nhiên :math:`X` có giá trị nằm trong không gian mẫu :math:`\mathcal{S} = \{1, 2, 3, 4, 5, 6\}` lăn một khuôn. Chúng ta có thể biểu thị sự kiện “nhìn thấy một :math:`5`" là :math:`\{X = 5\}` hoặc :math:`X = 5`, và xác suất của nó là :math:`P(\{X = 5\})` hoặc :math:`P(X = 5)`. Đến :math:`P(X = a)`, chúng ta phân biệt giữa biến ngẫu nhiên :math:`X` và các giá trị (ví dụ, :math:`a`) mà :math:`X` có thể lấy. Tuy nhiên, pedantry như vậy dẫn đến một ký hiệu rườm rà. Đối với một ký hiệu nhỏ gọn, một mặt, chúng ta chỉ có thể biểu thị :math:`P(X)` là *\ distribution\* so với biến ngẫu nhiên :math:`X`: phân phối cho chúng ta biết xác suất :math:`X` có bất kỳ giá trị nào. Mặt khác, chúng ta chỉ cần viết :math:`P(a)` để biểu thị xác suất một biến ngẫu nhiên lấy giá trị :math:`a`. Vì một sự kiện trong lý thuyết xác suất là một tập hợp các kết quả từ không gian mẫu, chúng ta có thể chỉ định một phạm vi các giá trị cho một biến ngẫu nhiên cần lấy. Ví dụ, :math:`P(1 \leq X \leq 3)` biểu thị xác suất của sự kiện :math:`\{1 \leq X \leq 3\}`, có nghĩa là :math:`\{X = 1, 2, \text{or}, 3\}`. Tương đương, :math:`P(1 \leq X \leq 3)` thể hiện xác suất biến ngẫu nhiên :math:`X` có thể lấy một giá trị từ :math:`\{1, 2, 3\}`. Lưu ý rằng có một sự khác biệt tinh tế giữa các biến ngẫu nhiên *discrete*, như các cạnh của một cái chết, và *liên tục* các biến, như trọng lượng và chiều cao của một người. Có rất ít điểm trong việc hỏi liệu hai người có chính xác cùng chiều cao hay không. Nếu chúng ta thực hiện các phép đo đủ chính xác, bạn sẽ thấy rằng không có hai người nào trên hành tinh có cùng chiều cao chính xác. Trên thực tế, nếu chúng ta thực hiện một phép đo đủ tốt, bạn sẽ không có cùng chiều cao khi bạn thức dậy và khi bạn đi ngủ. Vì vậy, không có mục đích nào trong việc hỏi về xác suất mà ai đó là 1.80139278291028719210196740527486202 mét cao. Với dân số thế giới của con người xác suất hầu như là 0. Nó có ý nghĩa hơn trong trường hợp này để hỏi xem chiều cao của ai đó có rơi vào một khoảng thời gian nhất định hay không, nói từ 1,79 đến 1,81 mét. Trong những trường hợp này, chúng tôi định lượng khả năng chúng tôi thấy giá trị là \* mật độ\*. Chiều cao chính xác 1,80 mét không có xác suất, nhưng mật độ nonzero. Trong khoảng thời gian giữa bất kỳ hai độ cao khác nhau chúng ta có xác suất nonzero. Trong phần còn lại của phần này, chúng tôi xem xét xác suất trong không gian rời rạc. Để xác suất qua các biến ngẫu nhiên liên tục, bạn có thể tham khảo :numref:`sec_random_variables`. Xử lý nhiều biến ngẫu nhiên --------------------------- Rất thường xuyên, chúng ta sẽ muốn xem xét nhiều hơn một biến ngẫu nhiên tại một thời điểm. Ví dụ, chúng tôi có thể muốn mô hình hóa mối quan hệ giữa các bệnh và triệu chứng. Với một bệnh và một triệu chứng, nói “cúm” và “ho”, hoặc có thể xảy ra hoặc không thể xảy ra ở một bệnh nhân có một số xác suất. Mặc dù chúng tôi hy vọng rằng xác suất của cả hai sẽ gần bằng 0, chúng tôi có thể muốn ước tính những xác suất này và mối quan hệ của chúng với nhau để chúng tôi có thể áp dụng các suy luận của mình để có tác dụng chăm sóc y tế tốt hơn. Như một ví dụ phức tạp hơn, hình ảnh chứa hàng triệu pixel, do đó hàng triệu biến ngẫu nhiên. Và trong nhiều trường hợp, hình ảnh sẽ đi kèm với một nhãn, xác định các đối tượng trong hình ảnh. Chúng ta cũng có thể nghĩ nhãn như một biến ngẫu nhiên. Chúng ta thậm chí có thể nghĩ về tất cả các siêu dữ liệu như các biến ngẫu nhiên như vị trí, thời gian, khẩu độ, độ dài tiêu cự, ISO, khoảng cách lấy nét và loại máy ảnh. Tất cả những điều này là các biến ngẫu nhiên xảy ra cùng nhau. Khi chúng ta đối phó với nhiều biến ngẫu nhiên, có một số lượng quan tâm. Xác suất chung ~~~~~~~~~~~~~~ Đầu tiên được gọi là xác suất khớp *:math:`P(A = a, B=b)`. Với bất kỳ giá trị :math:`a` và :math:`b`, xác suất chung cho phép chúng ta trả lời, xác suất :math:`A=a` và :math:`B=b` đồng thời là bao nhiêu? Lưu ý rằng đối với bất kỳ giá trị :math:`a` và :math:`b`, :math:`P(A=a, B=b) \leq P(A=a)`. Điều này phải xảy ra, vì đối với :math:`A=a` và :math:`B=b` xảy ra, :math:`A=a` phải xảy ra*\ và\* :math:`B=b` cũng phải xảy ra (và ngược lại). Do đó, :math:`A=a` và :math:`B=b` không thể có nhiều khả năng hơn :math:`A=a` hoặc :math:`B=b` riêng lẻ. Xác suất có điều kiện ~~~~~~~~~~~~~~~~~~~~~ Điều này đưa chúng ta đến một tỷ lệ thú vị: :math:`0 \leq \frac{P(A=a, B=b)}{P(A=a)} \leq 1`. Chúng tôi gọi tỷ lệ này là xác suất có điều kiện\* và biểu thị nó bằng :math:`P(B=b \mid A=a)`: đó là xác suất :math:`B=b`, với điều kiện là :math:`A=a` đã xảy ra. Định lý Bayes' ~~~~~~~~~~~~~~ Sử dụng định nghĩa xác suất có điều kiện, chúng ta có thể lấy được một trong những phương trình hữu ích và nổi tiếng nhất trong thống kê: Định lý \*Bayes'. Nó đi như sau. Bằng cách xây dựng, chúng tôi có quy tắc nhân \*\* rằng :math:`P(A, B) = P(B \mid A) P(A)`. Theo đối xứng, điều này cũng giữ cho :math:`P(A, B) = P(A \mid B) P(B)`. Giả sử rằng :math:`P(B) > 0`. Giải quyết cho một trong các biến có điều kiện mà chúng ta nhận được .. math:: P(A \mid B) = \frac{P(B \mid A) P(A)}{P(B)}. Lưu ý rằng ở đây chúng tôi sử dụng ký hiệu nhỏ gọn hơn trong đó :math:`P(A, B)` là bản phân phối \* chung \* và :math:`P(A \mid B)` là bản phân phối có điều kiện\*. Các phân phối như vậy có thể được đánh giá cho các giá trị cụ thể :math:`A = a, B=b`. Marginalization ~~~~~~~~~~~~~~~ Định lý Bayes rất hữu ích nếu chúng ta muốn suy ra một điều từ cái kia, nói nguyên nhân và hiệu quả, nhưng chúng ta chỉ biết các thuộc tính theo hướng ngược lại, như chúng ta sẽ thấy sau trong phần này. Một hoạt động quan trọng mà chúng ta cần, để thực hiện công việc này, là *marginalization*. Đó là hoạt động xác định :math:`P(B)` từ :math:`P(A, B)`. Chúng ta có thể thấy rằng xác suất :math:`B` chiếm tất cả các lựa chọn có thể là :math:`A` và tổng hợp xác suất chung trên tất cả chúng: .. math:: P(B) = \sum_{A} P(A, B), còn được gọi là quy tắc tổng *.*. Xác suất hoặc phân phối là kết quả của việc biên giới được gọi là xác suất \* biên độ\* hoặc phân phối biên \*. Độc lập ~~~~~~~ Một thuộc tính hữu ích khác để kiểm tra là *dependence* so với *independence*. Hai biến ngẫu nhiên :math:`A` và :math:`B` độc lập có nghĩa là sự xuất hiện của một sự kiện :math:`A` không tiết lộ bất kỳ thông tin nào về sự xuất hiện của một sự kiện :math:`B`. Trong trường hợp này :math:`P(B \mid A) = P(B)`. Các nhà thống kê thường thể hiện điều này là :math:`A \perp B`. Từ định lý Bayes', nó đi theo ngay lập tức đó cũng là :math:`P(A \mid B) = P(A)`. Trong tất cả các trường hợp khác, chúng tôi gọi :math:`A` và :math:`B` phụ thuộc. Ví dụ, hai cuộn liên tiếp của một khuôn là độc lập. Ngược lại, vị trí của công tắc ánh sáng và độ sáng trong phòng không phải là (mặc dù chúng không hoàn toàn xác định, vì chúng ta luôn có thể có bóng đèn bị hỏng, mất điện hoặc công tắc bị hỏng). Vì :math:`P(A \mid B) = \frac{P(A, B)}{P(B)} = P(A)` tương đương với :math:`P(A, B) = P(A)P(B)`, hai biến ngẫu nhiên độc lập nếu và chỉ khi phân phối chung của chúng là tích của các phân phối riêng lẻ của chúng. Tương tự như vậy, hai biến ngẫu nhiên :math:`A` và :math:`B` là \* độc lập có điều kiện\* cho một biến ngẫu nhiên khác :math:`C` nếu và chỉ khi :math:`P(A, B \mid C) = P(A \mid C)P(B \mid C)`. Điều này được thể hiện là :math:`A \perp B \mid C`. .. _subsec_probability_hiv_app: .. _conditional_prob_D1: .. _conditional_prob_D2: Ứng dụng ~~~~~~~~ Hãy để chúng tôi đưa các kỹ năng của chúng tôi để kiểm tra. Giả sử rằng bác sĩ quản lý xét nghiệm HIV cho bệnh nhân. Xét nghiệm này khá chính xác và nó chỉ thất bại với xác suất 1% nếu bệnh nhân khỏe mạnh nhưng báo cáo anh ta là bệnh. Hơn nữa, nó không bao giờ không phát hiện ra HIV nếu bệnh nhân thực sự có nó. Chúng tôi sử dụng :math:`D_1` để chỉ ra chẩn đoán (:math:`1` nếu dương tính và :math:`0` nếu âm tính) và :math:`H` để biểu thị tình trạng HIV (:math:`1` nếu dương tính và :math:`0` nếu âm tính). :numref:`conditional_prob_D1` liệt kê các xác suất có điều kiện như vậy. +-----------------------------+---------------+---------------+ | Conditional probability | :math:`H=1` | :math:`H=0` | +=============================+===============+===============+ | :math:`P(D_1 = 1 \mid H)` | 1 | 0.01 | +-----------------------------+---------------+---------------+ | :math:`P(D_1 = 0 \mid H)` | 0 | 0.99 | +-----------------------------+---------------+---------------+ Table: Xác suất điều kiện của :math:`P(D_1 \mid H)`. Lưu ý rằng các tổng cột là tất cả 1 (nhưng tổng hàng không), vì xác suất có điều kiện cần phải tổng hợp lên đến 1, giống như xác suất. Chúng ta hãy tìm ra xác suất bệnh nhân nhiễm HIV nếu xét nghiệm trở lại dương tính, tức là :math:`P(H = 1 \mid D_1 = 1)`. Rõ ràng điều này sẽ phụ thuộc vào mức độ phổ biến của bệnh, vì nó ảnh hưởng đến số lượng báo động sai. Giả sử rằng dân số khá khỏe mạnh, ví dụ, :math:`P(H=1) = 0.0015`. Để áp dụng định lý Bayes', chúng ta cần áp dụng marginalization và quy tắc nhân để xác định .. math:: \begin{aligned} &P(D_1 = 1) \\ =& P(D_1=1, H=0) + P(D_1=1, H=1) \\ =& P(D_1=1 \mid H=0) P(H=0) + P(D_1=1 \mid H=1) P(H=1) \\ =& 0.011485. \end{aligned} Vì vậy, chúng tôi nhận được .. math:: \begin{aligned} &P(H = 1 \mid D_1 = 1)\\ =& \frac{P(D_1=1 \mid H=1) P(H=1)}{P(D_1=1)} \\ =& 0.1306 \end{aligned}. Nói cách khác, chỉ có 13,06% khả năng bệnh nhân thực sự bị nhiễm HIV, mặc dù sử dụng một xét nghiệm rất chính xác. Như chúng ta có thể thấy, xác suất có thể phản trực quan. Bệnh nhân nên làm gì khi nhận được những tin tức đáng sợ như vậy? Có khả năng, bệnh nhân sẽ yêu cầu bác sĩ quản lý một xét nghiệm khác để có được sự rõ ràng. Thử nghiệm thứ hai có các đặc điểm khác nhau và nó không tốt bằng thử nghiệm đầu tiên, như thể hiện trong :numref:`conditional_prob_D2`. +-----------------------------+---------------+---------------+ | Conditional probability | :math:`H=1` | :math:`H=0` | +=============================+===============+===============+ | :math:`P(D_2 = 1 \mid H)` | 0.98 | 0.03 | +-----------------------------+---------------+---------------+ | :math:`P(D_2 = 0 \mid H)` | 0.02 | 0.97 | +-----------------------------+---------------+---------------+ Table: Xác suất điều kiện của :math:`P(D_2 \mid H)`. Thật không may, thử nghiệm thứ hai trở lại tích cực, quá. Chúng ta hãy tìm ra các xác suất cần thiết để gọi định lý Bayes' bằng cách giả định độc lập có điều kiện: .. math:: \begin{aligned} &P(D_1 = 1, D_2 = 1 \mid H = 0) \\ =& P(D_1 = 1 \mid H = 0) P(D_2 = 1 \mid H = 0) \\ =& 0.0003, \end{aligned} .. math:: \begin{aligned} &P(D_1 = 1, D_2 = 1 \mid H = 1) \\ =& P(D_1 = 1 \mid H = 1) P(D_2 = 1 \mid H = 1) \\ =& 0.98. \end{aligned} Now we can apply marginalization and the multiplication rule: .. math:: \begin{aligned} &P(D_1 = 1, D_2 = 1) \\ =& P(D_1 = 1, D_2 = 1, H = 0) + P(D_1 = 1, D_2 = 1, H = 1) \\ =& P(D_1 = 1, D_2 = 1 \mid H = 0)P(H=0) + P(D_1 = 1, D_2 = 1 \mid H = 1)P(H=1)\\ =& 0.00176955. \end{aligned} In the end, the probability of the patient having HIV given both positive tests is .. math:: \begin{aligned} &P(H = 1 \mid D_1 = 1, D_2 = 1)\\ =& \frac{P(D_1 = 1, D_2 = 1 \mid H=1) P(H=1)}{P(D_1 = 1, D_2 = 1)} \\ =& 0.8307. \end{aligned} Đó là, bài kiểm tra thứ hai cho phép chúng tôi đạt được sự tự tin cao hơn nhiều rằng không phải tất cả đều tốt. Mặc dù thử nghiệm thứ hai kém chính xác hơn đáng kể so với thử nghiệm đầu tiên, nhưng nó vẫn cải thiện đáng kể ước tính của chúng tôi. Kỳ vọng và phương sai --------------------- Để tóm tắt các đặc điểm chính của phân phối xác suất, chúng ta cần một số biện pháp. *kỳ vị* (hoặc trung bình) của biến ngẫu nhiên :math:`X` được ký hiệu là .. math:: E[X] = \sum_{x} x P(X = x). Khi đầu vào của một hàm :math:`f(x)` là một biến ngẫu nhiên rút ra từ phân phối :math:`P` với các giá trị khác nhau :math:`x`, kỳ vọng của :math:`f(x)` được tính là .. math:: E_{x \sim P}[f(x)] = \sum_x f(x) P(x). Trong nhiều trường hợp, chúng tôi muốn đo lường bằng bao nhiêu biến ngẫu nhiên :math:`X` lệch khỏi kỳ vọng của nó. Điều này có thể được định lượng bởi phương sai .. math:: \mathrm{Var}[X] = E\left[(X - E[X])^2\right] = E[X^2] - E[X]^2. Căn bậc hai của nó được gọi là độ lệch tiêu chuẩn\*. Phương sai của một hàm số của một phép đo biến ngẫu nhiên bằng bao nhiêu hàm lệch so với kỳ vọng của hàm, vì các giá trị khác nhau :math:`x` của biến ngẫu nhiên được lấy mẫu từ phân phối của nó: .. math:: \mathrm{Var}[f(x)] = E\left[\left(f(x) - E[f(x)]\right)^2\right]. Tóm tắt ------- - Chúng tôi có thể lấy mẫu từ phân phối xác suất. - Chúng ta có thể phân tích nhiều biến ngẫu nhiên bằng cách sử dụng phân phối chung, phân phối có điều kiện, định lý Bayes', marginalization, và giả định độc lập. - Kỳ vọng và phương sai đưa ra các biện pháp hữu ích để tóm tắt các đặc điểm chính của phân phối xác suất. Bài tập ------- 1. Chúng tôi đã tiến hành :math:`m=500` nhóm thí nghiệm trong đó mỗi nhóm rút ra :math:`n=10` mẫu. Vary :math:`m` và :math:`n`. Quan sát và phân tích kết quả thử nghiệm. 2. Cho hai sự kiện với xác suất :math:`P(\mathcal{A})` và :math:`P(\mathcal{B})`, tính toán giới hạn trên và dưới trên :math:`P(\mathcal{A} \cup \mathcal{B})` và :math:`P(\mathcal{A} \cap \mathcal{B})`. (Gợi ý: hiển thị tình hình bằng cách sử dụng `Venn Diagram `__.) 3. Giả sử rằng chúng ta có một chuỗi các biến ngẫu nhiên, nói :math:`A`, :math:`B`, và :math:`C`, trong đó :math:`B` chỉ phụ thuộc vào :math:`A`, và :math:`C` chỉ phụ thuộc vào :math:`B`, bạn có thể đơn giản hóa xác suất chung :math:`P(A, B, C)`? (Gợi ý: đây là một `Markov Chain `__.) 4. Năm :numref:`subsec_probability_hiv_app`, bài kiểm tra đầu tiên chính xác hơn. Tại sao không chạy thử nghiệm đầu tiên hai lần thay vì chạy cả thử nghiệm thứ nhất và thứ hai? .. raw:: html
.. raw:: html
`Discussions `__ .. raw:: html
.. raw:: html
`Discussions `__ .. raw:: html
.. raw:: html
`Discussions `__ .. raw:: html
.. raw:: html