Biểu diễn công thức toán trong LATEX trên Jupyter Notebook

Viet Hung Nguyen
May 6, 2017 · 4 min read

Tính toán, vẽ đồ thị, trình bày báo cáo khoa học, chạy code Python, R… trên cùng một chương trình: Jupyter

Ma trận, không trận nào mà lại khiến sinh viên sợ như ma👻

Trước đây ta thường viết công thức toán bằng tay, vừa xấu, vừa xa, nhìn lại không ra gì. Mãi cho tới năm học cuối, khi phải đi làm đồ án tốt nghiệp, lúc ấy mới cần viết công thức toán lên máy tính. Các sinh viên “tiêu chuẩn” sẽ làm đồ án và viết lên Microsoft Word, việc gõ công thức khá trực quan nhưng cũng xấu và không kém phần mệt mỏi.
Một cách khác là dùng LATEX, công cụ chuyên để trình bày các bài báo khoa học. LATEX không khó, nó chỉ không phổ biến ở Việt Nam, như mọi thứ tốt đẹp khác (Linux, Python…)
Xem một ví dụ làm đồ án sử dụng LATEXđây

Jupyter là công cụ tiện lợi số 1 trong việc biểu diễn các tính toán khoa học và mang đi trình diễn, đặc biệt là giảng dạy. Ta có thể viết, chạy code, vẽ đồ thị trực tiếp trên Jupyter, và cũng có thể biểu diễn công thức toán (nhúng vào LATEX) trên đây.

Bài này đưa ra các ký hiệu để biểu diễn công thức toán cơ bản, đủ để dùng khi học về thống kê hay Machine Learning.

Mỗi ô đễ gõ trong Jupyter gọi là 1 cell, 1 cell này có thể đổi thành kiểu “MarkDown”, “Code” hay “Raw”. Cell phải có type là MarkDown mới hiển thị được Latex (chọn cell, bấm chữ m). Dùng dấu $ hoặc $$ để bắt đầu và kết thúc biểu thức Latex. Dùng $$ khi biểu thức được biểu diễn hoàn toàn trên một dòng riêng.

Các chữ cái Hy Lạp hay dùng trong công thức toán (Greek letters)

$$ \alpha,  \beta, \gamma, \Gamma, \pi, \Pi, \phi, \varphi, \mu, \Phi $$

Dấu mũ và chỉ số (superscripts and subscripts)

Mũ: ^i, dùng thêm ^{i} nếu i có 2 chữ số trở lên

Chỉ số: _i

$$ \alpha_i ^ {22} + \beta_j ^ 3 $$

Phân số (fraction)

$$ \frac{numerator}{denominator} + \frac{\alpha_i}{\beta_j} $$

Tổng (sum)

\sum_{i=1}^{10} t_i

Công thức tính cost function trong Neural network

http://ufldl.stanford.edu/wiki/index.php/Backpropagation_Algorithm

Sử dụng các ký hiệu đã học ở trên để biểu diễn một công thức phức tạp

$$ J(W, b) = [\frac{1}{m} \sum_{i=1}^{m} J(W, b; x^{(i)}, y^{(i)} ] + \frac{\lambda}{2} \sum_{l=1}^{n_l-1}  \sum_{i=1}^{s_l}  \sum_{j=1}^{s_{l+1}} (W_{ji} ^{(l)})^2 $$

Ma trận (matrix)

Xem thêm các cách biểu diễn khác https://en.wikibooks.org/wiki/LaTeX/Mathematics#Matrices_and_arrays

$$ A_{m,n} = 
\begin{pmatrix}
a_{1,1} & a_{1,2} & \cdots & a_{1,n} \\
a_{2,1} & a_{2,2} & \cdots & a_{2,n} \\
\vdots & \vdots & \ddots & \vdots \\
a_{m,1} & a_{m,2} & \cdots & a_{m,n}
\end{pmatrix} $$

Tham khảo: https://en.wikibooks.org/wiki/LaTeX/Mathematics

Đăng ký học #Python 3 từ con số 0 tại https://pymi.vn/ — trung tâm đào tạo lập trình viên Python số 1 Việt Nam.

Nhập email vào http://invite.pymi.vn/ để nhận thư mời tham gia forum hỏi đáp Python, Django, Golang, Linux …

PS: do blog này không hỗ trợ hiển thị công thức toán, nên chúng tôi phải đưa các công thức lên ở dạng file ảnh. Xem bản gốc (nên xem trên máy tính) tại: https://github.com/pymivn/math-stats-ml/blob/master/latexmath.ipynb

PyMivn

Tin tức về thế giới xung quanh Python Việt Nam

PyMivn

Tin tức về thế giới xung quanh Python Việt Nam

Viet Hung Nguyen

Written by

Python addict, CLI lover, minimalist, runs pymi.vn

PyMivn

Tin tức về thế giới xung quanh Python Việt Nam

Medium is an open platform where 170 million readers come to find insightful and dynamic thinking. Here, expert and undiscovered voices alike dive into the heart of any topic and bring new ideas to the surface. Learn more

Follow the writers, publications, and topics that matter to you, and you’ll see them on your homepage and in your inbox. Explore

If you have a story to tell, knowledge to share, or a perspective to offer — welcome home. It’s easy and free to post your thinking on any topic. Start a blog

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store