首先给出闵老师的课程链接:.html
8.4
1.将向量下标为偶数的分量 (x2, x4, …) 累加, 写出相应表达式.
2.各出一道累加、累乘、积分表达式的习题, 并给出标准答案.
3.你使用过三重累加吗? 描述一下其应用.
4.给一个常用的定积分, 将手算结果与程序结果对比.
答:1.
s u m = ∑ i = 1 n x 2 i sum=sum_{i=1}^n{x_{2i}} sum=i=1∑nx2i
java代码如下(和表达式在计数上不是一一对应的):
int sum = 0;for (int i=2; i<n; i+=2){sum += x[i];}
java代码(输出15.004999999999006)如下:
double delta = 0.001;
double result = 0;
for (double i = 1; i <= 4; i+=delta) {result += i * 2 * delta;
}
System.out.println(result); \ output 15.004999999999006
9.4 自己写一个小例子 ( n n n=3, m m m=2) 来验证最小二乘法.
答:
时间(天) | 降雨量 | 禾苗高度(cm) |
---|---|---|
1 | 10 | 1 |
2 | 23 | 3 |
3 | 15 | 4 |
4 | 20 | ? |
令
X = [ 1 10 2 23 3 15 ] , Y = [ 1 3 4 ] , w = [ w i j ] 2 × 1 mathbf{X} = begin{bmatrix} 1 & 10 \ 2 & 23 \ 3 & 15 end{bmatrix}, mathbf{Y} = begin{bmatrix} 1 \ 3 \ 4 end{bmatrix}, mathbf{w}=[w_{ij}]_{2times1} X=⎣⎡123102315⎦⎤,Y=⎣⎡134⎦⎤,w=[wij]2×1
可得:
X T = [ 1 2 3 10 23 15 ] mathbf{X}^{mathrm{T}} = begin{bmatrix} 1 & 2 & 3 \ 10 & 23&15 end{bmatrix} XT=[110223315]
所以
w = ( X T X ) − 1 X T Y = [ 14 101 101 854 ] − 1 [ 1 2 3 10 23 15 ] [ 1 3 4 ] = [ 0.4866 − 0.0575 − 0.0575 − 0.0080 ] [ 1 2 3 10 23 15 ] [ 1 3 4 ] = [ 1.2462 0.0154 ] mathbf{w} = (mathbf{X}^{mathrm{T}}mathbf{X})^{-1}mathbf{X}^{mathrm{T}}mathbf{Y} \ ={begin{bmatrix} 14 & 101 \ 101 & 854 end{bmatrix}}^{-1} begin{bmatrix} 1 & 2 & 3 \ 10 & 23&15 end{bmatrix} begin{bmatrix} 1 \ 3 \ 4 end{bmatrix} \ ={begin{bmatrix} 0.4866& -0.0575\ -0.0575& -0.0080 end{bmatrix}} begin{bmatrix} 1 & 2 & 3 \ 10 & 23&15 end{bmatrix} begin{bmatrix} 1 \ 3 \ 4 end{bmatrix} \ = begin{bmatrix} 1.2462 \ 0.0154 end{bmatrix} w=(XTX)−1XTY=[14101101854]−1[110223315]⎣⎡134⎦⎤=[0.4866−0.0575−0.0575−0.0080][110223315]⎣⎡134⎦⎤=[1.24620.0154]
针对第4条数据的预测值
y 4 = 4 ∗ 1.2462 + 20 ∗ 0.0154 = 5.2928 mathbf{y}_4=4*1.2462+20*0.0154=5.2928 y4=4∗1.2462+20∗0.0154=5.2928
对于前三条数据进行验算,基本符合原数据:
y 1 = 1 ∗ 1.2462 + 10 ∗ 0.0154 = 1.4002 y 2 = 2 ∗ 1.2462 + 23 ∗ 0.0154 = 2.8466 y 3 = 3 ∗ 1.2462 + 15 ∗ 0.0154 = 3.9696 mathbf{y}_1=1*1.2462+10*0.0154=1.4002 \ mathbf{y}_2=2*1.2462+23*0.0154=2.8466 \ mathbf{y}_3=3*1.2462+15*0.0154=3.9696 y1=1∗1.2462+10∗0.0154=1.4002y2=2∗1.2462+23∗0.0154=2.8466y3=3∗1.2462+15∗0.0154=3.9696
10.6 自己推导一遍, 并描述这个方法的特点 (不少于 5 条).
答:Logistic 回归尤其适合二分类问题,超平面用于分割实例集的正负样本,而超平面的计算过程中常使用单个样本距离超平面的距离作为优化依据。针对每一个样本,都存在一个和超平面的距离。根据样本是否被正确划分,距离可以被表示在区间为 ( − ∞ , + ∞ ) (-infty, +infty) (−∞,+∞)内,其中正的距离表示样本被正确划分,负的距离样本没有被正确划分。而距离的绝对值则是样本距离超平面的数值距离。
一种分类依据是:如果正确分类, 则离超平面越远越好,即距离越远,正确分类的概率越大; 如果错误分类, 则离超平面越近越好,错误分类越远时,表示该样本是正确分类的概率几乎为0。为了将上述说法公式化,引入sigmoid 函数进行上述转化。
概率.
P ( y = 1 ∣ x ; w ) = 1 1 + e − x w (1) P(y = 1 vert mathbf{x}; mathbf{w}) = frac{1}{1 + e^{-mathbf{xw}}} tag{1} P(y=1∣x;w)=1+e−xw1(1)
其中 x w mathbf{xw} xw能表示样本距离超平面的距离。具体推导见:距离推导
针对于二分类问题,样本只有正负样本之分,如果正样本输出为1,负样本输出为0,则任意一个实例都可以表示为:
P ( y i ∣ x i ; w ) = P ( y i = 1 ∣ x i ; w ) y i ( 1 − P ( y i = 1 ∣ x i ; w ) ) 1 − y i (2) P(y_i vert mathbf{x}_i; mathbf{w}) = P(y_i = 1 vert mathbf{x}_i; mathbf{w})^{y_i} (1 - P(y_i = 1 vert mathbf{x}_i; mathbf{w}))^{1 - y_i} tag{2} P(yi∣xi;w)=P(yi=1∣xi;w)yi(1−P(yi=1∣xi;w))1−yi(2)
注意此式,其实是对每个样本的综合表示方法。
当样本为正样本时,因为 y = 1 y=1 y=1,上式转化为:
P ( y i ∣ x i ; w ) = P ( y i = 1 ∣ x i ; w ) (2-1) P(y_i vert mathbf{x}_i; mathbf{w}) = P(y_i = 1 vert mathbf{x}_i; mathbf{w}) tag{2-1} P(yi∣xi;w)=P(yi=1∣xi;w)(2-1)
当样本为负样本时,因为 y = 0 y=0 y=0,上式转化为:
P ( y i ∣ x i ; w ) = ( 1 − P ( y i = 1 ∣ x i ; w ) ) (2-2) P(y_i vert mathbf{x}_i; mathbf{w}) = (1 - P(y_i = 1 vert mathbf{x}_i; mathbf{w})) tag{2-2} P(yi∣xi;w)=(1−P(yi=1∣xi;w))(2-2)
为了使模型最优,则上述概率越大越好,同时满足下式:
arg max w L ( w ) = ∏ i = 1 n P ( y i ∣ x i ; w ) (3) argmax_mathbf{w} L(mathbf{w}) = prod_{i = 1}^n P(y_i vert mathbf{x}_i; mathbf{w}) tag{3} wargmaxL(w)=i=1∏nP(yi∣xi;w)(3)
但该式不好计算,可以通过取log转化为加法运算:
log L ( w ) = ∑ i = 1 n log P ( y i ∣ x i ; w ) = ∑ i = 1 n y i log P ( y i = 1 ∣ x i ; w ) + ( 1 − y i ) log ( 1 − P ( y i = 1 ∣ x i ; w ) ) = ∑ i = 1 n y i log P ( y i = 1 ∣ x i ; w ) 1 − P ( y i = 1 ∣ x i ; w ) + log ( 1 − P ( y i = 1 ∣ x i ; w ) ) = ∑ i = 1 n y i x i w − log ( 1 + e x i w ) (4) begin{aligned} log L(mathbf{w}) & = sum_{i = 1}^n log P(y_i vert mathbf{x}i; mathbf{w}) \ & = sum_{i = 1}^n y_i log P(y_i = 1 vert mathbf{x}_i; mathbf{w}) + (1 - y_i) log(1 - P(y_i = 1 vert mathbf{x}i; mathbf{w})) \ & = sum_{i = 1}^n y_i log frac{P(y_i = 1 vert mathbf{x}_i; mathbf{w})}{1 - P(y_i = 1 vert mathbf{x}_i; mathbf{w})} + log (1 - P(y_i = 1 vert mathbf{x}i; mathbf{w})) \ & = sum_{i = 1}^n y_i mathbf{x}_i mathbf{w} - log (1 + e^{mathbf{x}_i mathbf{w}}) end{aligned} tag{4} logL(w)=i=1∑nlogP(yi∣xi;w)=i=1∑nyilogP(yi=1∣xi;w)+(1−yi)log(1−P(yi=1∣xi;w))=i=1∑nyilog1−P(yi=1∣xi;w)P(yi=1∣xi;w)+log(1−P(yi=1∣xi;w))=i=1∑nyixiw−log(1+exiw)(4)
式(3)的最优解模型就转化为求式(4)的凸函数位置了。一般的计算式令式子的导数为0,并求取此时的 w mathbf{w} w。所以上式对 w mathbf{w} w求偏导:
∂ log L ( w ) ∂ w = ∑ i = 1 n y i x i − e x i w 1 + e x i w x i = ∑ i = 1 n ( y i − e x i w 1 + e x i w ) x i (5) begin{aligned} frac{partial log L(mathbf{w})}{partial mathbf{w}} & = sum_{i = 1}^n y_i mathbf{x}_i - frac{e^{mathbf{x}_i mathbf{w}}}{1 + e^{mathbf{x}_i mathbf{w}}} mathbf{x}i\ & = sum_{i = 1}^n left(y_i - frac{e^{mathbf{x}_i mathbf{w}}}{1 + e^{mathbf{x}_i mathbf{w}}}right) mathbf{x}_iend{aligned} tag{5} ∂w∂logL(w)=i=1∑nyixi−1+exiwexiwxi=i=1∑n(yi−1+exiwexiw)xi(5)
而此式子为0不能直接求解,所以根据下式所述的梯度下降进行求解:
w t + 1 = w t − α ∂ log L ( w ) ∂ w (6) mathbf{w}^{t + 1} = mathbf{w}^t - alpha frac{partial log L(mathbf{w})}{partial mathbf{w}} tag{6} wt+1=wt−α∂w∂logL(w)(6)
该方法特点有:
本文发布于:2024-01-31 07:43:32,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170665821726797.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |