1.梯度下降实现线性模型的广义最小二乘法参数估计
1.预测汽车接下去该进行的轨道是个回归问题!Astonishing.感觉上具有空间连续性的问题
都可以这么做。在连续空间中具有线连续事物比如轨迹,具有面连续的比如铁板上的温度
传导,具有体连续性的比如空气湿度,具有时空连续性的比如人类进行的活动,历史在时
空里就是连续的。
2.给出一组数据集(房屋面积,房屋价格),将面积和价格回归为一种关系。这背后的基本
假设是房屋面积越大,价格越大,这能给予我们在买卖房屋时在性价比上有个权衡和参考。
定义一些符号,m表示训练样本数,x表示输入变量,y表示输出变量,第i个样本(x^{(i)},y^{(i)}),假设函数h_\theta:x->y,其中
\theta是参数.由学习算法从数据得到假设函数。作者却直接假设了x,y之间的线性关系。选取参数使满足:
\[\hat{\theta}=\underset{\theta}{min}J(\theta)=\underset{\theta}{min}\frac{1}{2}\sum_{i=1}^{m}\left(h_\theta(x^{(i)})-y^{(i)}\right)^2\]
其中的J(\theta)是广义最小二乘法中的一个特例。
3.一种求解上面约束的算法——梯度下降法[重看定义]:
\[初始赋值\theta=0,\theta_i:=\theta_i-2\frac{\partial}{\partial \theta_i}J(\theta)=\theta_i-2\frac{\partial}{\partial \theta_i}\frac{1}{2}(h_\theta(x)-y)^2=\theta_i-(h_\theta(x)-y)\cdot x_i\]
可以加入一个大于零的步伐控制量\alpha,令:
\[\begin{alignat}{1}\theta_i:&=\theta_i-\alpha(h_\theta(x)-y)\cdot x_i\\&=\theta_i-\alpha\sum_{j=1}^{m}(h_\theta(x^{(j)})-y^{(j)})\cdot x_i^{(j)}\end{alignat}\]
一直迭代,直达算法收敛。在沿梯度下降的过程中,\theta有可能变大也有可能变小,只要保证一点,迭代后的J(\theta)变小
即可,直接利用导数定义,实际计算中定义无穷小的大小。下降的线应该是折线才对。收敛于一个局部最优解相当于打若干
次高尔夫,最终把球打进洞。N。在曲面上的步长越来越接近\Delta \theta_i。如果和\theta_i同向变化,也就是J(\theta)升高
的,向相反方向走;如果和\theta_i反向变化,也就是J(\theta)降低的方向,同向走。
4.当m很大时采用随机梯度下降法Stochastic (Incremental) Gradient Descent:
\[For\,all\,i,\theta_i:=\theta_i-\alpha(h_\theta(x^{(j)})-y^{(j)})\cdot x_i^{(j)}\]
5.梯度下降法的全局表示:
\[\begin{alignat}{1}&梯度:\nabla_\theta J=\begin{bmatrix}\frac{\partial J}{\partial \theta_0}\\ \vdots\\\frac{\partial J}{\partial \theta_n}\end{bmatrix}\in \mathrm{R^{n+1}}\\&迭代:\theta:=\theta -\alpha \nabla_\theta J\end{alignat}\]
6.估计参数\theta的解析解:
\[定义矩阵函数的梯度和迹:f:R^{m \times n} \to R , 若A \subseteq R^{m \times n},则\]
\[ \nabla_A f(A)=\begin{bmatrix}\frac{\partial f}{\partial A_{11}}&\cdots&\frac{\partial f}{\partial A_{1n}}\\\vdots &\ddots&\vdots\\\frac{\partial f}{\partial A_{m1}}&\cdots&\frac{\partial f}{\partial A_{mn}}\end{bmatrix},tr A=\sum_{i=1}^{n}A_{ii}\]
\[\begin{alignat}{1}迹的若干性质:&tr AB=tr BA\\&tr ABC=tr CAB=tr BCA\\&如果f(A)=tr AB,那么\nabla_A f(A)=B^T\\&tr A=tr A^T\\&如果a是实数,tr a=a\\& \nabla_A tr ABA^TC =CAB+C^TAB^T\end{alignat}\]
求解线性模型中的参数\theta:
\[训练样本观测X=\begin{bmatrix}(x^{(1)})^T\\(x^{(2)})^T\\\vdots \\ (x^{(m)})^T\end{bmatrix},线性模型就是X\theta=\begin{bmatrix}(x^{(1)})^T\theta\\(x^{(2)})^T\theta\\\vdots \\ (x^{(m)})^T\theta\end{bmatrix}=\begin{bmatrix}h_\theta(x^{(1)})\\h_\theta(x^{(2)})\\ \vdots \\h_\theta(x^{(m)})\end{bmatrix},目标观测y=\begin{bmatrix}y^{(1)}\\y^{(2)}\\ \vdots \\y^{(m)}\end{bmatrix}\]
\[X\theta-y=\begin{bmatrix}y^{(1)}-h_\theta(x^{(1)})\\y^{(2)}-h_\theta(x^{(2)})\\ \vdots \\y^{(m)}-h_\theta(x^{(m)})\end{bmatrix},那么J(\theta)=\frac{1}{2}(X\theta-y)^T(X\theta-y)=\frac{1}{2}\sum_{i=1}^{m}(h_\theta(x^{(i)}-y^{(i)})^2\]
最小二乘法的思想:更一般的最小二乘法是一个向量的内积,J(\theta) \ge 0,通过求梯度找到最小的值所在的\theta。
\[\begin{alignat}{1}令\nabla_\theta J(\theta)=&0,\nabla_\theta \frac{1}{2}(X\theta-y)^T(X\theta-y)\\&=\frac{1}{2} \nabla_\theta tr(\theta^TX^TX\theta-\theta^TX^Ty-y^TX\theta+y^Ty)\\&=\frac{1}{2} \left(\nabla_\theta tr(\theta\theta^TX^TX)-\nabla_\theta tr(y^TX\theta)-\nabla_\theta tr(y^TX\theta)\right)\\&=\frac{1}{2}\nabla_\theta tr(\theta\theta^TX^TX)-\nabla_\theta tr(y^TX\theta)\\&=\frac{1}{2}(X^TX\theta+X^TX\theta)-X^Ty\\&=X^TX\theta-X^Ty\end{alignat}\]
\[得到正规方程X^TX\theta=X^Ty=0 ,求出 \theta=(X^TX)^{-1}X^Ty\]
7.比较数值解和解析解。上面两种描述答案的方式完全不同,看到代数表示出来了解的形式,但是好像很没用,最终还是不能
给我们答案,而通过数值迭代最后却能实实在在给我们给出能去判断的模型。但是同时,如果我们得到了解析解的话,也相当
于得到了一种新的计算\theta的方式,如果计算机能够直接进行矩阵运算的话。更多的意义在于,我们可以用思想方法想去甚
远的两种方式解答同一个问题,对答案进行验证。计算机做一个m\times n的矩阵的乘法用的时间怎样?
2.梯度上升实现逻辑回归中线性模型的最大似然估计
1.为什么人们直觉上觉得过拟合不好?方差大对人来说有什么一般意义?
2.参数学习算法就是参数已知的学习算法。非参数学习算法:参数随观测样本量增长的算法。比如,局部加权回归loss。
3.已知一组样本(x^{(i)},y^{(i)}),对任意给定x,有h(x),若是线性返回\theta^Tx,对于局部加权方法,就只考虑x附近的样本,
使用这部分数据进行拟合,
\[估计\theta使得\sum_{i=1}^{m}\omega^{(i)}(h_\theta(x^{(i)})-y^{(i)})^2最小,其中\omega^{(i)}=exp\{-\frac{(x^{(i)}-x)^2}{2\tau^2}\},\tau被称作带宽参数。\]
相当于假设了x^{(i)}附近的x服从以x^{(i)}为中心和期望的正态分布,同时也只不过是一种赋权方式,对远点赋权几乎是0.
4.线性模型的概率解释和最大似然估计:他就在讲高斯-马尔科夫线性模型中观测误差服从高斯分布的情形,这里
又一次提醒我要完成标准正态分布密度函数的推导以及母函数相关牵涉到随机过程的一些问题。观测误差的假设直接导致观测
也服从高斯分布,证明见高斯-马尔科夫线性模型:
\[\epsilon^{(i)}\sim \mathcal{N}(0,\delta^2)\Rightarrow (y^{(i)}|x^{(i)};\theta)\sim \mathcal{N}(\theta^Tx^{(i)},\delta^2)\]
\[\begin{alignat}{1}\epsilon^{(i)}彼此独立,记\theta的似然函数L(\theta)&=P(y|x;\theta)\\&=\prod_{i=1}^{m}P(y^{(i)}|x^{(i)};\theta)\\&=\prod_{i=1}^{m}\frac{1}{\sqrt{2\pi}\delta}\exp \left(-\frac{(y^{(i)}-\theta^TX)^2}{2\delta^2}\right)\end{alignat}\]
\[\begin{alignat}{1}l(\theta)=\log L(\theta)&=\log\left(\prod_{i=1}^{m}\frac{1}{\sqrt{2\pi}\delta}\exp\left(-\frac{(y^{(i)}-\theta^TX)^2}{2\delta^2}\right)\right)\\&=\sum_{i=1}^{m}\log\left(\frac{1}{\sqrt{2\pi}\delta}\exp\left(-\frac{(y^{(i)}-\theta^TX)^2}{2\delta^2}\right)\right)\\&=m \log \frac{1}{\sqrt{2\pi}\delta}+\sum_{i=1}^{m}-\frac{(y^{(i)}-\theta^TX)^2}{2\delta^2}\end{alignat}\]
\[令J(\theta)=\frac{1}{2}\sum_{i=1}^{m}(y^{(i)}-\theta^TX)^2,若J(\hat{\theta})=\underset{\theta}{\min}J(\theta),则l(\hat{\theta})=\underset{\theta}{\max}l(\theta),L(\hat{\theta})=\underset{\theta}{\max}L(\theta)\]
5.逻辑回归可以预测未来24小时内一个计算机集群会不会奔溃。
用线性回归进行分类的困难在于多一个训练样本的信息都有可能改变原先的假设。
如果y取值 {0,1},h_\theta(x)取值 [0,1]区间,sigmoid函数将R映射到[0,1]区间:
\[h_\theta(x)=g(\theta^Tx)=\frac{1}{1+e^{-\theta^Tx}}\]
将y取1的概率定义为假设函数:
\[P(y=1|x;\theta)=h_\theta(x),P(y=0|x;\theta)=1-h_\theta(x),P(y|x;\theta)={h_\theta(x)}^y\cdot(1-h_\theta(x))^{(1-y)}\]
参数估计很自然地使用了最大似然估计法:
\[L(\theta)=P(y|x;\theta)=\prod_{i=1}^{m}P(y^{(i)}|x^{(i)};\theta)=\prod_{i=1}^{m}{h_\theta(x^{(i)})}^{y^{(i)}}\cdot(1-h_\theta(x^{(i)}))^{(1-y^{(i)})}\]
取对数似然函数:
\[l(\theta)=\log L(\theta)=\sum_{i=1}^{m}y^{(i)} \log h_\theta(x^{(i)})+(1-y^{(i)})\cdot \log (1-h_\theta(x^{(i)}) \]
梯度上升迭代出对数似然函数最大值[计算梯度]:
\[\theta:=\theta+\alpha \nabla_\theta l(\theta)\]
6.感知算法假设函数定义:
\[g(z)=\begin{cases}1,z \ge 0\\0 , z<0\end{cases},h_\theta(x)=g(\theta^Tx)\]
参数迭代方式:
\[\theta_j=\theta_j+\alpha(y^{(i)}-h_\theta(x^{(i)}))\cdot({x_j}^{(i)})\]
3.逻辑回归中的牛顿法最大似然参数估计
1.牛顿法,已知函数f(\theta),找f的零点\hat{\theta}使得f(\hat{\theta})=0。相较梯度上升(下降)法的效率更高[?],梯度法是通
过让导数一步步接近0的方式找局部最优解(最大值或者最小值)的。
\[初始化\theta:\theta^{(0)},得到对应函数值:f(\theta^{(0)}),过(\theta^{(0)},f(\theta^{(0)}))做切线,切线与\theta 轴相交得到\theta^{(1)},完成一次迭代。\]
\[已知过该条切线的两点(\theta^{(0)},f(\theta^{(0)})),(\theta^{(1)},0),则f在\theta^{(0)}的导数、首次迭代公式以及多次迭代公式如下:\]
\[f'(\theta^{(0)})=\frac{f(\theta^{(0)})-0}{\theta^{(0)}-\theta^{(1)}},\theta^{(1)}:=\theta^{(0)}-\frac{f(\theta^{(0)})}{f'(\theta^{(0)})},\theta^{(t+1)}:=\theta^{(t)}-\frac{f(\theta^{(t)})}{f'(\theta^{(t)})}\]
—>为什么这样做?或者这样做意味了什么?
—>牛顿法是二次收敛的。
2.针对逻辑回归问题最大化参数\theta的对数似然函数即寻找l'(\theta)的零点:
\[它的牛顿法一般迭代公式:\theta^{(t+1)}:=\theta^{(t)}-\frac{l'(\theta^{(t)})}{l''(\theta^{(t)})}\]
\[当\theta是向量时:\theta^{(t+1)}=\theta^{(t)}+H^{-1}\nabla_\theta l\]
\[其中H表示Hessian矩阵:H=\begin{bmatrix}\frac{\partial ^2 l}{\partial_{\theta_1} \partial_{\theta_1}}&\cdots&\frac{\partial ^2 l}{\partial_{\theta_1} \partial_{\theta_n}}\\\vdots&\ddots&\vdots\\\frac{\partial ^2 l}{\partial_{\theta_n} \partial_{\theta_1}}&\cdots&\frac{\partial ^2 l}{\partial_{\theta_n} \partial_{\theta_n}}\end{bmatrix}\]
—>牛顿法收敛速度比梯度法快,但对高特征数量不适用,因每次迭代需要计算H^{-1}。
—>选择logistic函数的原因。
4.指数族假设分布下的线性预测模型
1.伯努利分布和高斯分布可以写成指数族分布的一般形式:
\[P(y;\eta)=b(y)\cdot \exp (\eta^TT(y)-a(\eta)),\eta是自然参数,T(y)是充分统计量,任意一组(a,b,T)能定义一个指数族分布。\]
伯努利分布指数族分布一般形式:
\[\begin{alignat}{1}Ber(\Phi):P(y=1;\Phi)=\Phi,P(y;\Phi)&=\Phi^y\cdot (1-\Phi)^{(1-y)}\\&=\exp\left(\log (\Phi^y\cdot (1-\Phi)^{(1-y)})\right)\\&=\exp\left(y\log\Phi+(1-y)\log (1-\Phi)\right)\\&=\exp\left(y \log \frac{\Phi}{1-\Phi}+\log(1-\Phi)\right)\end{alignat}\]
\[伯努利分布的指数族分布参数就是:(\eta,a(\eta),b(y),T(y))=(\log\frac{\Phi}{1-\Phi},-\log (1-\Phi),1,y)\]
\[解出\Phi=\frac{1}{1+e^{-\eta}}=\frac{e^\eta}{1+e^\eta}正好是logistic函数\]
\[a(\eta)=-\log (1-\Phi)=\log \frac{1+e^{-\eta}}{e^{-\eta}}=\log (1+e^\eta)\]
—>感觉一个退化的事物可以成为诸多一般事物的特殊情况
高斯分布的指数族分布一般形式:[理解]
\[\begin{alignat}{1}y\sim \mathcal{N}(\mu;\delta^2),P(y;\mu,\delta^2)&=\frac{1}{\sqrt{2\pi} \delta}\exp\left\{-\frac{(y-\mu)^2}{2\delta^2}\right\}\\&=\frac{1}{\sqrt{2 \pi }}\exp \left\{ \log \frac{1}{\delta}-\frac{y^2-2y\mu+\mu^2}{2\delta^2}\right\}\\&=\frac{1}{\sqrt{2 \pi }}\exp\left\{ \log \frac{1}{\delta}-\frac{\mu^2}{2\delta^2}+\frac{2y\mu-y^2}{2\delta^2}\right\}\end{alignat}\]
\[得到高斯分布的指数族分布参数相关:(a(\eta),b(y),\eta^TT(y))=(\frac{\mu^2}{2\delta^2}-\log \frac{1}{\delta},\frac{1}{\sqrt{2 \pi }},\frac{2y\mu-y^2}{2\delta^2})\]
\[令T(y)=\begin{bmatrix}y\\y^2\end{bmatrix}则\eta=\begin{bmatrix}\frac{u}{\delta^2}\\-\frac{1}{2\delta^2}\end{bmatrix}=\frac{1}{\delta^2} \begin{bmatrix}\mu\\-\frac{1}{2}\end{bmatrix}\]
\[得到高斯分布指数族分布参数:(\eta,a(\eta),b(y),T(y))=\left(\frac{1}{\delta^2} \begin{bmatrix}\mu\\-\frac{1}{2}\end{bmatrix},\frac{\mu^2}{2\delta^2}-\log \frac{1}{\delta},\frac{1}{\sqrt{2 \pi }},\begin{bmatrix}y\\y^2\end{bmatrix}\right)\]
\[解出a(\eta)=?\]
—>贝塔分布、Dirichlet分布、Wishart分布等都是指数族分布
2.应用包含分布假设广义线性模型做预测:
\[\begin{alignat}{1}&(1)假设输出变量y|x;\theta服从指数族分布。\\&(2)给定输入x,目标在求得h(x)=E(T(y)|x)\\&(3)决策设计\eta=\theta^Tx\end{alignat}\]
3.伯努利分布假设下做线性预测:
\begin{alignat}{1}&(1)伯努利分布属于指数族分布\\&(2)对固定的x,\theta算法输出假设函数h_\theta(x)=E(y|x;\theta)\\&(3)P(y=1|x;\theta)=\Phi=\frac{1}{1+e^{-\eta}}=\frac{1}{1+e^{-\theta^Tx}}\end{alignat}
正则响应函数把指数族分布自然参数映射至目标观测的期望:
\[g(\eta)=E(y|\eta)=\frac{1}{1+e^{-\eta}},g^{(-1)}被叫做link函数\]
4.Multinomial分布可以用来对事物进行多重分类。对于二项分布和现实世界的自然关联是事情的发生与不发生,同时一类事情
呈现的形态会多于两种,由背后更基本事情的发生与不发生决定。推广的伯努利试验和Multinomial的定义:
进行n次相互独立的推广伯努利试验,共有k种不同的试验结果A_1,A_2,...,A_k,每1次试验中出现第i种结果的概率是P(A_i)=p_i i=1,2,\cdots,k,则有:\sum_{i=1}^{k}p_i=1。如果n次试验之后第A_i种结果出现的次数是n_i,i=1,2,\cdots,k,则有:\sum_{i=1}^{k}n_i=n,第A_i种结果出现n_i次概率是:
\[\dbinom{n}{n_1}\cdot\dbinom{n-n_1}{n_2}\cdots\dbinom{n-\sum_{i=1}^{k-1}n_i}{n_k}{p_1}^{n_1}{p_2}^{n_2}\cdots{p_k}^{n_k}=\frac{n!}{n_1!n_2!\cdots n_k!}{p_1}^{n_1}{p_2}^{n_2}\cdots{p_k}^{n_k}\]
\[是(p_1+p_2+\cdots+p_k)^n=1展开式的一般项。\]