公司做网站的,手机网站设计报价,二级学院网站建设方案,品牌策划公司应具备的能力假设存在一个数据集#xff0c;包含工资、年龄及贷款额度三个维度的数据。我们需要根据这个数据集进行建模#xff0c;从而在给定工资和年龄的情况下#xff0c;实现对贷款额度的预测。其中#xff0c;工资和年龄是模型构建时的两个特征#xff0c;额度是模型输出的目标值…假设存在一个数据集包含工资、年龄及贷款额度三个维度的数据。我们需要根据这个数据集进行建模从而在给定工资和年龄的情况下实现对贷款额度的预测。其中工资和年龄是模型构建时的两个特征额度是模型输出的目标值。
工资年龄额度40002520000800030700005000283500075003350000120004085000………
我们可以根据数据集和相关需求进行公式建模 y θ 0 θ 1 x 1 θ 2 x 2 ε θ T x ε y {\theta }_{0} {\theta }_{1}x_1 {\theta }_{2}x_2 \varepsilon {\theta }^{T}x \varepsilon yθ0θ1x1θ2x2εθTxε 其中 θ 0 \theta _0 θ0 为偏置项 θ 1 \theta _1 θ1、 θ 2 \theta _2 θ2 为两个特征 x 1 x_1 x1、 x 2 x_2 x2 的权重项 ε \varepsilon ε 为误差项 θ T \theta ^T θT 为一个行向量 x x x 为包含特征 x 1 x_1 x1、 x 2 x_2 x2 的矩阵。 θ 1 x 1 θ 2 x 2 {\theta }_{1}x_1 {\theta }_{2}x_2 θ1x1θ2x2 在三维空间中表示的平面会尽可能去拟合所有数据点目标值但是这个平面并不一定是拟合度最高的也许该平面沿着 y y y 维度向上或向下平移一点距离所得到的新平面才是拟合度最高的因此我们会在该拟合表达式中加上一个偏置项 θ 0 \theta _0 θ0。 θ 0 θ 1 x 1 θ 2 x 2 {\theta }_{0} {\theta }_{1}x_1 {\theta }_{2}x_2 θ0θ1x1θ2x2 是给定 x 1 x_1 x1、 x 2 x_2 x2 值时对目标值的预测预测值与真实值之间必然会存在一个误差因此我们在该表达式中还需加上一个误差项 ε \varepsilon ε。 对于一个样本而言公式可以写成如下形式 y ( i ) θ T x ( i ) ε ( i ) ⇒ ε ( i ) y ( i ) − θ T x ( i ) y^{(i)} {\theta }^{T}x^{(i)} \varepsilon ^{(i)} \Rightarrow \varepsilon ^{(i)} y^{(i)} - {\theta }^{T}x^{(i)} y(i)θTx(i)ε(i)⇒ε(i)y(i)−θTx(i) 其中每个样本的误差 ε ( i ) \varepsilon ^{(i)} ε(i) 都是独立同分布的服从均值为 0 0 0 的高斯分布。
高斯分布的概率密度函数如下所示 f ( x ) 1 2 π σ ⋅ e − ( x − μ ) 2 2 σ 2 f(x) \frac{1}{\sqrt{2\pi }\sigma }·{e}^{-\frac{{(x-\mu )}^{2}}{2{\sigma }^{2}}} f(x)2π σ1⋅e−2σ2(x−μ)2 把误差带入进去可得到公式 f ( ε ( i ) ) 1 2 π σ ⋅ e − ( ε ( i ) ) 2 2 σ 2 1 2 π σ ⋅ e − ( y ( i ) − θ T x ( i ) ) 2 2 σ 2 f({\varepsilon }^{(i)}) \frac{1}{\sqrt{2\pi }\sigma }·{e}^{-\frac{{({\varepsilon }^{(i)})}^{2}}{2{\sigma }^{2}}} \frac{1}{\sqrt{2\pi }\sigma }·{e}^{-\frac{{(y^{(i)} - {\theta }^{T}x^{(i)})}^{2}}{2{\sigma }^{2}}} f(ε(i))2π σ1⋅e−2σ2(ε(i))22π σ1⋅e−2σ2(y(i)−θTx(i))2 该公式表示误差趋于 0 0 0 的概率或者说预测值 θ T x ( i ) {\theta }^{T}x^{(i)} θTx(i) 趋近于真实值的概率这个概率自然是越大越好。 我们的最终目的是要求出最合适的 θ 0 \theta _0 θ0、 θ 1 \theta _1 θ1、 θ 2 \theta _2 θ2而似然函数是统计学中用于估计参数的一个函数。因此在给出观测数据的前提下我们可以利用似然函数来推断出未知的参数值。
构建的似然函数如下所示 L ( θ ) ∏ i 1 m 1 2 π σ ⋅ e − ( y ( i ) − θ T x ( i ) ) 2 2 σ 2 L(\theta ) \displaystyle\prod_{i1}^{m}\frac{1}{\sqrt{2\pi }\sigma }·{e}^{-\frac{{(y^{(i)} - {\theta }^{T}x^{(i)})}^{2}}{2{\sigma }^{2}}} L(θ)i1∏m2π σ1⋅e−2σ2(y(i)−θTx(i))2 其中在各个样本都符合独立同分布的情况下联合概率密度就等于各样本概率密度的乘积因此这里用了累乘。
想在乘法中求解出参数 θ \theta θ也许是一个比较难的事但如果能把乘法转换成加法对于参数的求解可能就容易了许多。鉴于此我们可以使用对数似然函数来进行参数的求解。
构建的对数似然函数如下所示 l o g L ( θ ) l o g ∏ i 1 m 1 2 π σ ⋅ e − ( y ( i ) − θ T x ( i ) ) 2 2 σ 2 logL(\theta ) log\displaystyle\prod_{i1}^{m}\frac{1}{\sqrt{2\pi }\sigma }·{e}^{-\frac{{(y^{(i)} - {\theta }^{T}x^{(i)})}^{2}}{2{\sigma }^{2}}} logL(θ)logi1∏m2π σ1⋅e−2σ2(y(i)−θTx(i))2 将上述公式进行展开化简 l o g L ( θ ) ∑ i 1 m l o g 1 2 π σ ⋅ e − ( y ( i ) − θ T x ( i ) ) 2 2 σ 2 m l o g 1 2 π σ ∑ i 1 m l o g e − ( y ( i ) − θ T x ( i ) ) 2 2 σ 2 m l o g 1 2 π σ − 1 σ 2 ⋅ 1 2 ∑ i 1 m ( y ( i ) − θ T x ( i ) ) 2 logL(\theta ) \displaystyle\sum_{i1}^{m}log\frac{1}{\sqrt{2\pi }\sigma }·{e}^{-\frac{{(y^{(i)} - {\theta }^{T}x^{(i)})}^{2}}{2{\sigma }^{2}}} \\ mlog\frac{1}{\sqrt{2\pi }\sigma } \displaystyle\sum_{i1}^{m}log{e}^{-\frac{{(y^{(i)} - {\theta }^{T}x^{(i)})}^{2}}{2{\sigma }^{2}}} \\ mlog\frac{1}{\sqrt{2\pi }\sigma } - \frac{1}{{\sigma }^{2}}·\frac{1}{2}\displaystyle\sum_{i1}^{m}{(y^{(i)} - {\theta }^{T}x^{(i)})}^{2} logL(θ)i1∑mlog2π σ1⋅e−2σ2(y(i)−θTx(i))2mlog2π σ1i1∑mloge−2σ2(y(i)−θTx(i))2mlog2π σ1−σ21⋅21i1∑m(y(i)−θTx(i))2 我们要让似然函数越大越好因此上述公式等价于让下述目标函数的目标值越小越好 J ( θ ) 1 2 ∑ i 1 m ( y ( i ) − θ T x ( i ) ) 2 J(\theta ) \frac{1}{2}\displaystyle\sum_{i1}^{m}{(y^{(i)} - {\theta }^{T}x^{(i)})}^{2} J(θ)21i1∑m(y(i)−θTx(i))2 我们首先对上述目标函数进行展开 J ( θ ) 1 2 ( X θ − y ) T ( X θ − y ) 1 2 ( θ T X T − y T ) ( X θ − y ) 1 2 ( θ T X T X θ − θ T X T y − y T X θ y T y ) 1 2 ( 2 X T X θ − X T y − ( y T X ) T ) X T X θ − X T y J(\theta ) \frac{1}{2}{(X\theta - y)}^{T}(X\theta - y) \\ \frac{1}{2}{(\theta ^TX^T - y^T)}(X\theta - y) \\ \frac{1}{2}(\theta ^TX^TX\theta - \theta ^TX^Ty - y^TX\theta y^Ty) \\ \frac{1}{2}(2X^TX\theta - X^Ty - (y^TX)^T) \\ X^TX\theta - X^Ty J(θ)21(Xθ−y)T(Xθ−y)21(θTXT−yT)(Xθ−y)21(θTXTXθ−θTXTy−yTXθyTy)21(2XTXθ−XTy−(yTX)T)XTXθ−XTy 根据展开的公式推出参数值 θ ( X T X ) − 1 X T y \theta (X^TX)^{-1}X^Ty θ(XTX)−1XTy 通过这种方法可以进行参数值 θ \theta θ 的求解但是在上式中 X T X X^TX XTX 不一定是可逆的也就是说不一定能求解出参数值 θ \theta θ。
鉴于上述问题我们需要考虑使用其他方法来求解合适的 θ \theta θ而机器学习就是非常好的方法。一个常规的思路是我们喂给机器一堆数据然后告诉它该用什么样的方式学习并让它朝着这个方向去做目标/损失函数每一次学习一点经过多次迭代优化后最终收敛至一个稳定的状态。
在对目标函数进行求解时通常会用到梯度下降法来进行优化。梯度下降是一种常用的优化算法用于求解目标函数的最小值或最大值。它的基本思想是通过迭代的方式沿着目标函数的负梯度方向逐步更新参数以逐渐接近最优解。具体来说对于一个可微的目标函数我们希望找到使其取得最小值的参数。梯度下降通过以下步骤进行迭代更新
初始化参数选择初始参数值作为起点计算梯度计算目标函数关于参数的梯度导数更新参数将当前参数值沿着负梯度方向移动一小步更新参数值重复步骤 2 和步骤 3直到满足停止条件如达到最大迭代次数或梯度变化很小
梯度方向指示了函数上升最快的方向而负梯度方向则指示了函数下降最快的方向。因此通过不断更新参数梯度下降算法可以朝着函数取得最小值的方向逐渐迭代最终接近或达到最优解。
梯度下降算法有多种变体如批量梯度下降Batch Gradient Descent、随机梯度下降Stochastic Gradient Descent和小批量梯度下降Mini-Batch Gradient Descent它们在每次更新参数时所使用的样本数量不同。这些变体具有不同的优缺点适用于不同的问题和数据集规模。
回到上面的问题此时的目标/损失函数如下所示 J ( θ ) 1 2 m ∑ i 1 m ( y i − θ T x i ) 2 J(\theta ) \frac{1}{2m}\displaystyle\sum_{i1}^{m}(y^i - \theta ^Tx^i)^2 J(θ)2m1i1∑m(yi−θTxi)2 当使用批量梯度下降时目标函数关于第 j j j 个参数的梯度可以写成如下形式 δ J ( θ ) δ θ j − 1 m ∑ i 1 m ( y i − θ T x i ) x j i \frac{\delta J(\theta)}{\delta \theta _j} -\frac{1}{m}\displaystyle\sum_{i1}^{m}(y^i - \theta ^Tx^i){x}_{j}^{i} δθjδJ(θ)−m1i1∑m(yi−θTxi)xji 更新参数后新的参数可以表示成如下形式 θ j ′ θ j α ⋅ 1 m ∑ i 1 m ( y i − θ T x i ) x j i {\theta }_{j}^{} \theta _j \alpha · \frac{1}{m}\displaystyle\sum_{i1}^{m}(y^i - \theta ^Tx^i){x}_{j}^{i} θj′θjα⋅m1i1∑m(yi−θTxi)xji 当使用随机梯度下降时目标函数关于第 j j j 个参数的梯度可以写成如下形式 δ J ( θ ) δ θ j − ( y i − θ T x i ) x j i \frac{\delta J(\theta)}{\delta \theta _j} -(y^i - \theta ^Tx^i){x}_{j}^{i} δθjδJ(θ)−(yi−θTxi)xji 更新参数后新的参数可以表示成如下形式 θ j ′ θ j α ⋅ ( y i − θ T x i ) x j i {\theta }_{j}^{} \theta _j \alpha · (y^i - \theta ^Tx^i){x}_{j}^{i} θj′θjα⋅(yi−θTxi)xji 当使用小批量梯度下降时目标函数关于第 j j j 个参数的梯度可以写成如下形式 δ J ( θ ) δ θ j 1 10 ∑ k i i 9 ( θ T x k − y k ) x j k \frac{\delta J(\theta)}{\delta \theta _j} \frac{1}{10}\displaystyle\sum_{ki}^{i9}(\theta ^Tx^k - y^k){x}_{j}^{k} δθjδJ(θ)101ki∑i9(θTxk−yk)xjk 更新参数后新的参数可以表示成如下形式 θ j ′ θ j − α ⋅ 1 10 ∑ k i i 9 ( θ T x k − y k ) x j k {\theta }_{j}^{} \theta _j - \alpha · \frac{1}{10}\displaystyle\sum_{ki}^{i9}(\theta ^Tx^k - y^k){x}_{j}^{k} θj′θj−α⋅101ki∑i9(θTxk−yk)xjk 批量梯度下降容易得到最优解但是由于每次都要考虑所有样本因此速度很慢随机梯度下降每次找一个样本迭代速度快但不一定每次都朝着收敛的方向前进存在离群点、噪声点等干扰小批量梯度下降比较实用用的也比较多。