最小二乘法
定义模型
表达式:\(f_\theta(x)=\theta_0+\theta_1x\)
(常用\(\theta\)表示未知数、\(f_\theta(x)\)表示含有参数\(\theta\)并且和变量\(x\)相关的函数)
目标函数
假设有\(n\)个训练数据,那么它们的误差之和可以这样表示,这个表达式称为目标函数。
\(E(\theta)=\frac12\sum\limits_{i=1}^n(y^{(i)}-f_\theta(x^{(i)}))^2\) (\(x^{(i)}和y^{(i)}\)指第\(i\)个训练数据)
找到使\(E(\theta)\)值最小的\(\theta\),这样的问题称为最优化问题。
为了避免正负数混合运算所以计算平方,\(\frac12\)是为了让表达式值更简单随便加的常数。
设\(\theta_0=1、\theta_1=3\),将四个训练数据带入表达式求误差如下:
修改参数\(\theta\)的值,让误差变小的做法称为最小二乘法。
最速下降法
比如表达式\(g(x)=(x-1)^2\),它的最小值\(g(x)=0\)出现在\(x=1\)时。
图像如下:
\(g(x)\)展开有\((x-1)^2=x^2-2x+1\)
微分有:\(\frac{d}{dx}g(x)=2x-2\)
为了让\(g(x)\)的值变小,要让\(x\)向1移动,可以根据导数符号决定\(x\)的移动方向,只要向着导数符号相反的方向移动\(x\),\(g(x)\)就会向着最小值移动。
由此得到表达式
\(x:=x-\eta\frac{d}{dx}g(x)\) 称为最速下降法或梯度下降法。
(A:=B,意思通过B来定义A,上面表达式指用上一个x来定义新的x)
\(\eta\)是称为学习率的正常数,大小会影响达到最小值的更新次数,太大会导致来回跳跃无法收敛,一直发散状态。
对于目标函数,\(E(\theta)=\frac12\sum\limits_{i=1}^n(y^{(i)}-f_\theta(x^{(i)}))^2\) 有两个参数,要用偏微分。
(\(f_\theta(x)=\theta_0+\theta_1x\))
更新表达式如下:
\(\theta_0:=\theta_0-\eta\frac{\partial E}{\partial\theta_0}\)
\(\theta_1:=\theta_1-\eta\frac{\partial E}{\partial\theta_1}\)
\(\frac{\partial E}{\partial\theta_0}=\sum\limits_{i=1}^n(f_\theta(x^{(i)})-y^{(i)})\)
\(\frac{\partial E}{\partial\theta_1}=\frac{\partial E}{\partial\theta_0}=\sum\limits_{i=1}^n(f_\theta(x^{(i)})-y^{(i)})x^{(i)}\)
所以得到参数\(\theta_1和\theta_2\)的更新表达式如下:
\(\theta_0:=\theta_0-\eta\sum\limits_{i=1}^n(f_\theta(x^{(i)})-y^{(i)})\)
\(\theta_1:=\theta_1-\eta\sum\limits_{i=1}^n(f_\theta(x^{(i)})-y^{(i)})x^{(i)}\)
多项式回归
曲线比直线更容易拟合数据
把\(f_\theta(x)\)定义为二次函数:
\(f_\theta(x)=\theta_0+\theta_1x+\theta_2x^2\)
或者更大次数的表达式:
\(f_\theta(x)=\theta_0+\theta_1x+\theta_2x^2+...+\theta_nx^n\)
如\(f_\theta(x)=\theta_0+\theta_1x+\theta_2x^2\)
得到更新表达式为:
\(\theta_0:=\theta_0-\eta\sum\limits_{i=1}^n(f_\theta(x^{(i)})-y^{(i)})\)
\(\theta_1:=\theta_1-\eta\sum\limits_{i=1}^n(f_\theta(x^{(i)})-y^{(i)})x^{(i)}\)
\(\theta_2:=\theta_2-\eta\sum\limits_{i=1}^n(f_\theta(x^{(i)})-y^{(i)})x^{(i)^2}\)
这种增加函数中多项式的次数,再使用函数的分析方法被称为多项式回归。
多重回归
问题:基于广告费预测点击率
考虑广告版面的大小,设 广告费为 \(x_1\)、广告栏的宽为 \(x_2\)、广告栏的高为\(x_3\)
\(f_\theta\)可以表示如下:
\(f_\theta(x_1,x_2,x_3)=\theta_0+\theta_1x_1+\theta_2x_2+\theta_3x_3\)
简化表达式,将\(\theta和x\)看成向量
\(\boldsymbol{\theta}=\begin{bmatrix} \theta_0\\\theta_1\\\theta_2\\\vdots\\\theta_n \end{bmatrix}\) \(\boldsymbol{x}=\begin{bmatrix}x_0\\x_1\\x_2\\\vdots\\x_n \end{bmatrix}\) (\(x_0=1\))
\(\boldsymbol{\theta}^T\boldsymbol{x}=\theta_0x_0+\theta_1x_1+...+\theta_nx_n\)
\(E(\theta)=\frac12\sum\limits_{i=1}^n(f_\theta(x^{(i)}-y^{(i)}))^2\)
\(\frac{\partial E}{\partial\theta_j}=\sum\limits_{i=1}^n(f_\theta(x^{(i)})-y^{(i)})x_j^{(i)}\)
\(\theta_j:=\theta_j-\eta\sum\limits_{i=1}^n(f_\theta(x^{(i)})-y^{(i)})x_j^{(i)}\)
像这样包含多个变量的回归称为多重回归
随机梯度下降法
最速下降法容易陷入局部最优解
最速下降法更新表达式:\(\theta_j:=\theta_j-\eta\sum\limits_{i=1}^n(f_\theta(x^{(i)})-y^{(i)})x_j^{(i)}\)
随机梯度下降法中会随机选择一个训练数据,并使用它来更新参数。这个表达式中的\(k\)就是被随机选中的数据索引。
随机梯度下降法更新表达式:\(\theta_j:=\theta_j-\eta(f_\theta(x^{(k)})-y^{(k)})x_j^{(k)}\)
最速下降法更新1次参数的时间,随机梯度下降法可以更新n次,这样不容易陷入局部最优解。
小批量梯度下降法
设训练数据索引的集合为\(K\),还可以随机选择m个训练数据来更新参数。
小批量梯度下降法更新表达式:\(\theta_j:=\theta_j-\eta\sum\limits_{k\in K}(f_\theta(x^{(k)})-y^{(k)})x_j^{(k)}\)
标签:partial,limits,白话,sum,笔记,学习,eta,theta,表达式 From: https://www.cnblogs.com/dongdong25800/p/17566504.html