Logarit: trực giác và quy tắc tính
Bài trước ta đã biết cách nhân hai lũy thừa cùng cơ số: cộng số mũ, ví dụ $2^3 \cdot 2^2 = 2^5$. Bài này hỏi ngược lại câu hỏi đó: nếu biết $2^? = 32$ thì số mũ bằng mấy? Câu trả lời chính là logarit. Ký hiệu này xuất hiện liên tục trong công thức ML, đơn giản vì logarit biến phép nhân thành phép cộng, mà phép cộng thì dễ tính và dễ đọc hơn nhiều.
Sau bài này, bạn sẽ:
- Giải thích được logarit là phép ngược của lũy thừa.
- Tính nhẩm được các logarit đơn giản như $\log_2 32$ hay $\log_{10} 1000$.
- Áp dụng được ba quy tắc: log của tích, log của thương, log của lũy thừa.
- Nhận ra logarit nằm ở đâu trong một công thức ML và vì sao người ta dùng nó.
Logarit là câu hỏi ngược của lũy thừa
Ta viết $\log_b a = c$ nghĩa là $b^c = a$. Đọc thành lời: "b mũ mấy thì bằng a?" Câu trả lời chính là $c$.
Điều kiện để biểu thức có nghĩa: $a > 0$, $b > 0$ và $b \neq 1$. Lý do rất thực tế: không có số dương nào lũy thừa ra số âm, và $1$ mũ bao nhiêu cũng bằng $1$ nên không có câu trả lời duy nhất.
Ví dụ đời thường: bạn gửi tiết kiệm, cứ mỗi kỳ số tiền lại gấp đôi. Hỏi sau bao nhiêu kỳ thì được gấp $8$ lần? Ta cần $2^n = 8$, tức $n = \log_2 8 = 3$ kỳ. Không cần thử mò, logarit trả lời thẳng câu hỏi "mấy lần gấp đôi".
Một mẹo trực giác rất hữu ích: $\log_2$ chính là số lần chia đôi cho đến khi còn $1$.
flowchart TD
A["❓ log₂ 32 = ?"] --> B["32 ÷ 2 = 16"]
B --> C["16 ÷ 2 = 8"]
C --> D["8 ÷ 2 = 4"]
D --> E["4 ÷ 2 = 2"]
E --> F["2 ÷ 2 = 1"]
F --> G["✅ 5 lần chia, vậy log₂ 32 = 5"]
Ba cơ số bạn sẽ gặp nhiều nhất
| Ký hiệu | Cơ số | Gặp ở đâu |
|---|---|---|
| $\log$ hoặc $\log_{10}$ | $10$ | thang decibel, độ pH, sách phổ thông |
| $\ln$ | $e \approx 2.718$ | công thức ML, xác suất, tăng trưởng |
| $\log_2$ | $2$ | khoa học máy tính, chia đôi, đơn vị bit |
Note: Trong nhiều tài liệu ML, chữ
logviết trơn được hiểu mặc định là $\ln$ (cơ số $e$). Khi đọc công thức từ nguồn lạ, hãy xem phần quy ước ở đầu tài liệu trước khi thay số.
Sign in to view the full content of this lesson. Sign in
Quy tắc log của tích: nhân bên trong thành cộng bên ngoài
$$ \log_b(xy) = \log_b x + \log_b y $$
Ví dụ: $\log_2 32 = \log_2(4 \cdot 8) = \log_2 4 + \log_2 8 = 2 + 3 = 5$. Đúng với kết quả đếm số lần chia đôi ở trên.
Ví dụ có số lẻ hơn: $\log_{10} 200 = \log_{10}(2 \cdot 100) = \log_{10} 2 + \log_{10} 100 \approx 0.301 + 2 = 2.301$. Ta không cần biết chính xác $\log_{10} 2$, chỉ cần tách thành phần "tròn" cộng phần "lẻ".
Quy tắc log của thương: chia bên trong thành trừ bên ngoài
$$ \log_b\left(\frac{x}{y}\right) = \log_b x - \log_b y $$
Ví dụ: $\log_3 \frac{81}{9} = \log_3 81 - \log_3 9 = 4 - 2 = 2$. Kiểm tra lại: $\frac{81}{9} = 9 = 3^2$, khớp.
Quy tắc này giải thích luôn vì sao tỉ lệ phần trăm rất "hợp" với logarit: nếu doanh thu tăng gấp $10$ lần thì $\log_{10}$ tăng thêm đúng $1$ đơn vị, dù doanh thu tuyệt đối là $100$ hay $1$ triệu.
Quy tắc log của lũy thừa: số mũ nhảy ra trước
$$ \log_b(x^k) = k \cdot \log_b x $$
Ví dụ: $\log_2(8^4) = 4 \cdot \log_2 8 = 4 \cdot 3 = 12$. Thử lại: $8^4 = 4096 = 2^{12}$, khớp.
Đây là quy tắc "đắt giá" nhất trong ML. Khi tính xác suất của $n$ mẫu độc lập, ta phải nhân $n$ xác suất với nhau, và tích của hàng nghìn số nhỏ hơn $1$ sẽ tụt về $0$ rất nhanh. Lấy logarit biến tích đó thành tổng, vừa tránh mất độ chính xác, vừa dễ đạo hàm.
Ghép ba quy tắc trong một bài toán
Rút gọn $\log_2 \dfrac{16x^3}{y}$ với $x, y > 0$.
- Thương trước: $\log_2(16x^3) - \log_2 y$.
- Tích tiếp: $\log_2 16 + \log_2(x^3) - \log_2 y$.
- Lũy thừa cuối: $\log_2 16 = 4$ và $\log_2(x^3) = 3\log_2 x$.
Kết quả: $4 + 3\log_2 x - \log_2 y$. Một biểu thức gọn, không còn phép chia nào.
Thứ tự làm luôn là: thương, rồi tích, rồi lũy thừa, từ ngoài vào trong.
Hai giá trị nền và công thức đổi cơ số
Với mọi cơ số hợp lệ:
- $\log_b 1 = 0$ vì $b^0 = 1$.
- $\log_b b = 1$ vì $b^1 = b$.
- $\log_b b^k = k$ và $b^{\log_b x} = x$ (hai phép triệt tiêu nhau).
Khi máy tính chỉ có nút $\log$ hoặc $\ln$, dùng đổi cơ số:
$$ \log_b x = \frac{\log_{10} x}{\log_{10} b} $$
Ví dụ: $\log_2 10 = \dfrac{\log_{10} 10}{\log_{10} 2} \approx \dfrac{1}{0.301} \approx 3.32$. Nghĩa là $2^{3.32} \approx 10$, hợp lý vì $2^3 = 8$ và $2^4 = 16$.
Tự kiểm tra nhanh
- Logarit của một tích bằng phép _____ hai logarit.
- Logarit của một thương bằng phép _____ hai logarit.
- Logarit của một lũy thừa bằng số mũ _____ với logarit của cơ số bên trong.
- Với mọi cơ số hợp lệ, log_b 1 = _____.
- Với mọi cơ số hợp lệ, log_b b = _____.
- log_b a = c có nghĩa là _____.
Mẹo tính nhanh và lỗi hay gặp
- Đừng cộng log của tổng. $\log(x + y)$ không bằng $\log x + \log y$. Quy tắc chỉ đúng cho phép nhân bên trong.
- Đừng quên điều kiện. $\log_2(-8)$ không tồn tại trong số thực, dù $-8$ là một số bình thường.
- Đọc đúng chiều câu hỏi. $\log_2 8 = 3$ chứ không phải $8$. Nếu phân vân, viết lại thành $2^? = 8$ rồi tự trả lời.
- Đếm số lần chia đôi là cách kiểm tra $\log_2$ nhanh nhất khi không có máy tính: $64 \to 32 \to 16 \to 8 \to 4 \to 2 \to 1$ là $6$ lần, vậy $\log_2 64 = 6$.
- Quy tắc chọn cơ số: thấy dữ liệu gấp đôi, chia đôi, bit thì dùng cơ số $2$; thấy phần trăm, bậc độ lớn thì dùng cơ số $10$; thấy công thức ML có $e$ thì dùng $\ln$.
Ghi nhớ trước khi sang bài tiếp theo
Ba điều cần mang theo: logarit là phép ngược của lũy thừa, ba quy tắc tích, thương, lũy thừa biến phép nhân chia thành cộng trừ, và $\log_b 1 = 0$, $\log_b b = 1$ là hai mốc để kiểm tra mọi kết quả.
Bài sau ta chuyển sang ký hiệu tổng $\Sigma$ và chỉ số dưới, công cụ để viết gọn hàng nghìn phép cộng trong một dòng, đúng kiểu bạn sẽ thấy trong công thức ML.
Front: log_b a = c có nghĩa là gì? Back: b lũy thừa c bằng a, tức b^c = a.
Front: log_2 8 bằng bao nhiêu? Back: 3, vì 2^3 = 8.
Front: log_10 1000 bằng bao nhiêu? Back: 3, vì 10^3 = 1000.
Front: log_2 32 bằng bao nhiêu? Back: 5, vì chia đôi 32 năm lần thì còn 1.
Front: Quy tắc log của một tích? Back: log_b(xy) = log_b x + log_b y, nhân bên trong thành cộng bên ngoài.
Front: Quy tắc log của một thương? Back: log_b(x/y) = log_b x - log_b y, chia bên trong thành trừ bên ngoài.
Front: Quy tắc log của một lũy thừa? Back: log_b(x^k) = k · log_b x, số mũ nhảy ra trước.
Front: log_b 1 bằng bao nhiêu? Back: 0, vì b^0 = 1.
Front: log_b b bằng bao nhiêu? Back: 1, vì b^1 = b.
Front: ln x là logarit cơ số mấy? Back: Cơ số e, với e xấp xỉ 2.718.
Front: log_2(8^4) bằng bao nhiêu? Back: 12, vì 4 · log_2 8 = 4 · 3.
Front: Công thức đổi cơ số cho log_b x? Back: log_b x = log_10 x / log_10 b.
Front: log(x + y) có bằng log x + log y không? Back: Không. Quy tắc cộng chỉ đúng cho tích bên trong log.
Front: Vì sao ML hay dùng logarit cho xác suất? Back: Vì log biến tích nhiều xác suất nhỏ thành tổng, tránh tràn về 0 và dễ đạo hàm.
Front: Rút gọn log_2(16x^3/y)? Back: 4 + 3·log_2 x - log_2 y, làm theo thứ tự thương, tích, lũy thừa.