Menu
CoddyTech

Giá trị kỳ vọng

Thuộc phần Thống kê cho machine learning trong hành trình Machine Learning của Coddy. Bài học 16 trên 64.

Một chương trình bốc thăm: 70% vé không trúng gì, 25% trúng 5 đô la, 5% trúng 20 đô la. Một vé trị giá bao nhiêu?

Ba thanh biểu thị các giải thưởng bốc thăm 0, 5 và 20 đô la, với xác suất lần lượt là 0.7, 0.25 và 0.05. Các thanh đặt trên một thanh đòn như bập bênh, cân bằng trên một tam giác tại 2.25, giá trị kỳ vọng

Nhân mỗi giải thưởng với xác suất nhận được giải đó rồi cộng lại: đây là giá trị kỳ vọng, điểm cân bằng của biểu đồ:

prizes = np.array([0, 5, 20])
chances = np.array([0.7, 0.25, 0.05])
print((prizes * chances).sum())

Lệnh này in ra 2.25, tức giá trị trung bình dài hạn, dù không có vé nào trả mức đó. rng.choice với p= chọn vé theo các xác suất đó:

rng = np.random.default_rng(1)
tickets = rng.choice(prizes, size=10000, p=chances)
print(tickets.mean())

Đoạn code này in ra 2.298. Với giá 3 đô la, người mua lỗ 0.75 đô la mỗi vé. Sai số trung bình của một mô hình trên dữ liệu mới cũng là giá trị kỳ vọng.

challenge icon

Thử thách

Trung bình

Một vòng quay ở hội chợ trả số token trong prizes, mỗi khu vực có xác suất tương ứng trong chances. Người viết mã khởi tạo đã quay vòng quay 4000 lần và lưu kết quả vào spins; chương trình đọc giá của một lượt quay.

  1. In giải thưởng kỳ vọng, sau đó là mức trung bình mô phỏng, cả hai đều có 2 chữ số thập phân.
  2. In xem về lâu dài, người chơi lãi hay lỗ trong mỗi lượt quay và số lượng là bao nhiêu.

Với một vòng quay khác và giá 1.5:

Expected prize: 1.1 tokens
Simulated average: 1.08 tokens
A player loses 0.4 tokens a spin

Tự làm thử

import numpy as np

price = float(input())

# Phần thưởng của từng ô trên vòng quay, tính bằng token, và xác suất trúng ô đó
prizes = np.array([0, 1, 4, 10])
chances = np.array([0.5, 0.3, 0.15, 0.05])

# Đừng thay đổi các dòng bên dưới: 4000 lượt quay mô phỏng
rng = np.random.default_rng(9)
spins = rng.choice(prizes, size=4000, p=chances)

# Viết code của bạn bên dưới
quiz iconTự kiểm tra

Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.

Tất cả bài học trong Thống kê cho machine learning

Tự luyện tập: Trình biên dịch Python online