在学习机器学习中会接触到大量的数学公式,所以在写博客是会非常的麻烦。用公式编辑器一个一个写会非常的麻烦,这时候我们可以使用LaTeX来插入公式。
写这篇博文的目的在于,大家如果要编辑一些简单的公式,就不必自己写,直接copy过去修改下就能用了。所以下面仅列出些常用的grammar。随着、机器学习的深入会添加更多的相关公式。
LaTeX公式基础
这里的基础嫌烦的话可以先不看,直接看杂例,有不理解的地方在回来看这里的内容。此处知识摘取了一些简单的语法,如果需要完整的LaTeX书写数学公式的文档,见参考文献。
排版方式
行级元素(inline),行级元素使用$...$
,两个$表示公式的首尾。
块级元素(displayed),块级元素使用$$...$$
。块级元素默认是居中显示的。
常用西文符号
alpha
, eta
, …, omega
代表α,β,…ω. 大写字母,使用Gamma
, Delta
, …, Omega
代表Γ,Δ,…,Ω.
上标与下标
使用 ^和 _ 表示上标和下标. 例如,x_i^2
:xi2 ,
log_2 x
: log2x。
使用{}来消除二义性——优先级问题。例如10^10:1010,显然是错误的,要显示
1010,正确的语法应该是
10^{10}
。同样的,还有个例子,x_i^2
:xi2和
x_{i^2}
:xi2的区别。
括号
小括号和中括号直接使用,大括号由于用来分组,所以需要转义。{1+2}
:{1+2}
运算
- 分数:
frac{}{}
。例如,frac{1+1}{2}+1
:1+12+1
- 求和:
sum_1^n
:∑1n
- 积分:
int_1^n
:∫1n
- 极限:
lim_{x o infty
:limx→∞
-
矩阵:
$$egin{matrix}…end{matrix}$$
,使用&分隔同行元素,\换行。例如:$$ begin{matrix} 1 & x & x^2 \ 1 & y & y^2 \ 1 & z & z^2 \ end{matrix} $$
得到的公式为:
1xx21yy21zz2
杂例
-
$$h( heta)=sum_{j=0}^n heta_jx_j$$
线性模型
h(θ)=∑j=0nθjxj(线性模型)
-
$$J( heta)=frac1{2m}sum_{i=0}(y^i-h_ heta(x^i))^2$$
(均方误差
)J(θ)=12m∑i=0m(yi−hθ(xi))2(均方误差orcostfunction)
-
$$frac{partialJ( heta)}{partial heta_j}=-frac1msum_{i=0}^m(y^i-h_ heta(x^i))x^i_j $$
(批量梯度下降的梯度算法)∂J(θ)∂θj=−1m∑i=0m(yi−hθ(xi))xji(批量梯度下降的梯度算法)
-
$$ f(n) = begin{cases} n/2, & text{if $n$ is even} \ 3n+1, & text{if $n$ is odd} end{cases} $$
f(n)={n/2,if n is even3n+1,if n is odd
-
$$ left{ begin{array}{c} a_1x+b_1y+c_1z=d_1 \ a_2x+b_2y+c_2z=d_2 \ a_3x+b_3y+c_3z=d_3 end{array} ight. $$
{a1x+b1y+c1z=d1a2x+b2y+c2z=d2a3x+b3y+c3z=d3
-
$$X=left( begin{matrix} x_{11} & x_{12} & cdots & x_{1d}\ x_{21} & x_{22} & cdots & x_{2d}\ vdots & vdots & ddots & vdots\ x_{m1} & x_{m2} & cdots & x_{md}\ end{matrix} right) =left( begin{matrix} x_1^T \ x_2^T \ vdots\ x_m^T \ end{matrix} right) $$
X=(x11x12⋯x1dx21x22⋯x2d⋮⋮⋱⋮xm1xm2⋯xmd)=(x1Tx2T⋮xmT)
-
$$ begin{align} frac{partial J( heta)}{partial heta_j} & = -frac1msum_{i=0}^m(y^i-h_ heta(x^i)) frac{partial}{partial heta_j}(y^i-h_ heta(x^i)) \ & = -frac1msum_{i=0}^m(y^i-h_ heta(x^i)) frac{partial}{partial heta_j}(sum_{j=0}^n heta_jx_j^i-y^i) \ & = -frac1msum_{i=0}^m(y^i-h_ heta(x^i))x^i_j end{align} $$
(1)∂J(θ)∂θj=−1m∑i=0m(yi−hθ(xi))∂∂θj(yi−hθ(xi))(2)=−1m∑i=0m(yi−hθ(xi))∂∂θj(∑j=0nθjxji−yi)(3)=−1m∑i=0m(yi−hθ(xi))xji
总结
本文主要写了些用LaTeX来写数学公式的方法以及几个例子。杂例的前3个可以看到是用梯度法解决线性模型的几个公式,后面的几个是随意摘取的,尽可能包含大部分LaTeX的用法。杂例会在我学习机器学习的过程中不断添加,希望可以给大家带来方便吧。下面的参考文献包含了中英文,几乎包含了所有LaTeX书写数学公式的语法,有需要的可以去看看。
在学习机器学习中会接触到大量的数学公式,所以在写博客是会非常的麻烦。用公式编辑器一个一个写会非常的麻烦,这时候我们可以使用LaTeX来插入公式。
写这篇博文的目的在于,大家如果要编辑一些简单的公式,就不必自己写,直接copy过去修改下就能用了。所以下面仅列出些常用的grammar。随着、机器学习的深入会添加更多的相关公式。
LaTeX公式基础
这里的基础嫌烦的话可以先不看,直接看杂例,有不理解的地方在回来看这里的内容。此处知识摘取了一些简单的语法,如果需要完整的LaTeX书写数学公式的文档,见参考文献。
排版方式
行级元素(inline),行级元素使用$...$
,两个$表示公式的首尾。
块级元素(displayed),块级元素使用$$...$$
。块级元素默认是居中显示的。
常用西文符号
alpha
, eta
, …, omega
代表α,β,…ω. 大写字母,使用Gamma
, Delta
, …, Omega
代表Γ,Δ,…,Ω.
上标与下标
使用 ^和 _ 表示上标和下标. 例如,x_i^2
:xi2 ,
log_2 x
: log2x。
使用{}来消除二义性——优先级问题。例如10^10:1010,显然是错误的,要显示
1010,正确的语法应该是
10^{10}
。同样的,还有个例子,x_i^2
:xi2和
x_{i^2}
:xi2的区别。
括号
小括号和中括号直接使用,大括号由于用来分组,所以需要转义。{1+2}
:{1+2}
运算
- 分数:
frac{}{}
。例如,frac{1+1}{2}+1
:1+12+1
- 求和:
sum_1^n
:∑1n
- 积分:
int_1^n
:∫1n
- 极限:
lim_{x o infty
:limx→∞
-
矩阵:
$$egin{matrix}…end{matrix}$$
,使用&分隔同行元素,\换行。例如:$$ begin{matrix} 1 & x & x^2 \ 1 & y & y^2 \ 1 & z & z^2 \ end{matrix} $$
得到的公式为:
1xx21yy21zz2
杂例
-
$$h( heta)=sum_{j=0}^n heta_jx_j$$
线性模型
h(θ)=∑j=0nθjxj(线性模型)
-
$$J( heta)=frac1{2m}sum_{i=0}(y^i-h_ heta(x^i))^2$$
(均方误差
)J(θ)=12m∑i=0m(yi−hθ(xi))2(均方误差orcostfunction)
-
$$frac{partialJ( heta)}{partial heta_j}=-frac1msum_{i=0}^m(y^i-h_ heta(x^i))x^i_j $$
(批量梯度下降的梯度算法)∂J(θ)∂θj=−1m∑i=0m(yi−hθ(xi))xji(批量梯度下降的梯度算法)
-
$$ f(n) = begin{cases} n/2, & text{if $n$ is even} \ 3n+1, & text{if $n$ is odd} end{cases} $$
f(n)={n/2,if n is even3n+1,if n is odd
-
$$ left{ begin{array}{c} a_1x+b_1y+c_1z=d_1 \ a_2x+b_2y+c_2z=d_2 \ a_3x+b_3y+c_3z=d_3 end{array} ight. $$
{a1x+b1y+c1z=d1a2x+b2y+c2z=d2a3x+b3y+c3z=d3
-
$$X=left( begin{matrix} x_{11} & x_{12} & cdots & x_{1d}\ x_{21} & x_{22} & cdots & x_{2d}\ vdots & vdots & ddots & vdots\ x_{m1} & x_{m2} & cdots & x_{md}\ end{matrix} right) =left( begin{matrix} x_1^T \ x_2^T \ vdots\ x_m^T \ end{matrix} right) $$
X=(x11x12⋯x1dx21x22⋯x2d⋮⋮⋱⋮xm1xm2⋯xmd)=(x1Tx2T⋮xmT)
-
$$ begin{align} frac{partial J( heta)}{partial heta_j} & = -frac1msum_{i=0}^m(y^i-h_ heta(x^i)) frac{partial}{partial heta_j}(y^i-h_ heta(x^i)) \ & = -frac1msum_{i=0}^m(y^i-h_ heta(x^i)) frac{partial}{partial heta_j}(sum_{j=0}^n heta_jx_j^i-y^i) \ & = -frac1msum_{i=0}^m(y^i-h_ heta(x^i))x^i_j end{align} $$
(1)∂J(θ)∂θj=−1m∑i=0m(yi−hθ(xi))∂∂θj(yi−hθ(xi))(2)=−1m∑i=0m(yi−hθ(xi))∂∂θj(∑j=0nθjxji−yi)(3)=−1m∑i=0m(yi−hθ(xi))xji
总结
本文主要写了些用LaTeX来写数学公式的方法以及几个例子。杂例的前3个可以看到是用梯度法解决线性模型的几个公式,后面的几个是随意摘取的,尽可能包含大部分LaTeX的用法。杂例会在我学习机器学习的过程中不断添加,希望可以给大家带来方便吧。下面的参考文献包含了中英文,几乎包含了所有LaTeX书写数学公式的语法,有需要的可以去看看。