上午
1.将向量下标为偶数的分量 (x2, x4, …) 累加, 写出相应表达式.
答:
∑
i
/
2
=
0
x
i
\sum_{i/2=0}x_i
i/2=0∑xi
2.各出一道累加、累乘、积分表达式的习题, 并给出标准答案.
答:
累加: X = { 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 } , 求 ∑ i / 2 = 1 x i 2 \mathbf{X}=\{1,2,3,4,5,6,7,8\},求\sum_{i/2=1}x_i^2 X={1,2,3,4,5,6,7,8},求∑i/2=1xi2
答案:
public class sumtest
{
public static void main(String [] args)
{
int sum = 0;
int x[]= {1,2,3,4,5,6,7,8};
for (int i = 1; i <= 8; i++)
{
if (i%2==1)
sum =sum + x[i]*x[i];
}
System.out.println(sum);
}
}
输出:120
累乘:求 ∏ i , j a i j \prod_{i ,j} \mathbf{a_{ij}} ∏i,jaij
A
=
[
1
3
5
2
4
6
]
\mathbf{A}=\left[\begin{matrix} 1&3&5\\ 2&4&6\\ \end{matrix}\right]
A=[123456]
答:
public class product {
public static void main(String [] args)
{
int production=1;
for(int i=1;i<=6;i++)
{
production*=i;
}
System.out.println(production);
}
}
输出:720
积分:求 ∫ 1 2 x 2 + 1 / x d x . \int_{1}^{2} x^2 + 1/x\ \mathrm{d}x. ∫12x2+1/x dx.
答:手算:
原式
=
(
1
/
3
x
3
+
l
n
(
x
)
)
∣
1
2
=
7
/
3
+
l
n
(
2
)
≈
3.02
=(1/3x^3+ln(x))|^2_1=7/3+ln(2)≈3.02
=(1/3x3+ln(x))∣12=7/3+ln(2)≈3.02
程序:
public static void main(String [] args)
{
double integration = 0;
double delta = 0.01;
for (double x = 1; x <= 2; x += delta)
{
integration += (x*x+1/x ) * delta ;
}
System.out.println(integration);
}
}
输出:3.014003430481827
3.你使用过三重累加吗? 描述一下其应用.
答:还真没用过,可以用于矩阵的乘法。
下午
1.自己写一个小例子 (n = 3 ,m=1) 来验证最小二乘法.
答:
x | y |
---|---|
1 | 1 |
2 | 2 |
3 | 3 |
建立线性模型:
y
=
f
(
x
)
=
a
x
+
b
y=f(x)=ax+b
y=f(x)=ax+b 求系数
a
,
b
a,b
a,b.
{
1
=
1
a
+
b
,
2
=
2
a
+
b
,
3
=
3
a
+
b
}
→
a
=
1
,
b
=
0.
\{1=1a+b,2=2a+b,3=3a+b\}→a=1,b=0.
{1=1a+b,2=2a+b,3=3a+b}→a=1,b=0.
f
(
x
)
=
x
f(x)=x
f(x)=x
最小二乘法:
X
=
[
1
,
2
,
3
]
,
w
=
[
a
]
\mathbf{X}=[1,2,3],\mathbf{w}=[a]
X=[1,2,3],w=[a]
y
i
=
x
i
∗
a
+
b
y_i=\mathbf{x_i}*a+b
yi=xi∗a+b
w
=
(
X
T
X
)
−
1
X
T
Y
=
E
\mathbf{w}=(\mathbf{X^T}\mathbf{X})^{-1}\mathbf{X^T}\mathbf{Y}=\mathbf{E}
w=(XTX)−1XTY=E
故
a
=
1
a=1
a=1,带入后求得
b
=
0
b=0
b=0,与建立线性模型得到的结果一致。
晚上
推导逻辑回归,描述特点
答:虽名叫回归,但实际完成的是分类任务。
如何找出最优的超平面?先谈一下什么样的超平面是理想的。
我们希望得到的超平面(用参数
w
\mathbf{w}
w确定,最终目的就是确定参数
w
\mathbf{w}
w),可以实现绝大部分样本的正确分类,且每个样本分类的确信度都比较高。这里确信度可以通过函数间隔(
x
i
w
\mathbf{x_iw}
xiw)来反应。
确信度:将函数间隔通过sigmoid函数映射,可以得到一个值在{0,1}间的“概率
P
P
P”。如果分类正确
P
P
P会大于0.5,并且距离超平面越远,确信度越高,
P
P
P越无限接近于1;如果分类错误
P
P
P会小于0.5。
P
(
y
=
1
∣
x
;
w
)
=
1
1
+
e
−
x
w
P(y = 1 \vert \mathbf{x}; \mathbf{w}) = \frac{1}{1 + e^{-\mathbf{xw}}}
P(y=1∣x;w)=1+e−xw1表示预测结果为1的概率。
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
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}
P(yi∣xi;w)=P(yi=1∣xi;w)yi(1−P(yi=1∣xi;w))1−yi此为预测结果的概率。自然希望越大越好。
优化目标:
arg max
w
L
(
w
)
=
−
1
/
m
∏
i
n
P
(
y
i
∣
x
i
;
w
)
\argmax_{\mathbf{w}}L(\mathbf{w})=-1/m\prod_i^nP(y_i|\mathbf{x_i;w})
wargmaxL(w)=−1/mi∏nP(yi∣xi;w)为计算方便,去除前项
−
1
/
m
-1/m
−1/m,所以新优化目标变为:
arg min
w
L
(
w
)
=
∏
i
n
P
(
y
i
∣
x
i
;
w
\argmin_{\mathbf{w}}L(\mathbf{w})=\prod_i^nP(y_i|\mathbf{x_i;w}
wargminL(w)=i∏nP(yi∣xi;w计算复杂,转为求对数:
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
)
\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}
logL(w)=i=1∑nlogP(yi∣xi;w)&=∑i=1nyilogP(yi=1∣xi;w)+(1−yi)log(1−P(yi=1∣xi;w))&=∑i=1nyilog1−P(yi=1∣xi;w)P(yi=1∣xi;w)+log(1−P(yi=1∣xi;w))=∑i=1nyixiw−log(1+exiw)
对其求
w
\mathbf{w}
w的偏导,零偏导为0,此时为整体概率最大。但直接令为0却又求不出来,所以依靠梯度下降法求解。
∂
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
\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}_i\end{aligned}
∂w∂logL(w)=i=1∑nyixi−1+exiwexiwxi&=∑i=1n(yi−1+exiwexiw)xi
梯度下降法解出参数
w
\mathbf{w}
w:
可能有人疑惑为什么求最大不用梯度上升法却用了梯度下降法,是因为在构造损失函数时,为了计算方便,省去了前项的符号,所以,变为了求最小,自然是梯度下降法。
梯度下降法:
w
t
+
1
=
w
t
−
a
∂
log
L
(
w
)
∂
w
\mathbf{w}^{t+1}=\mathbf{w}^t-a\frac{\partial\log L(\mathbf{w})}{\partial \mathbf{w}}
wt+1=wt−a∂w∂logL(w)不论初始的
w
\mathbf{w}
w在最小值点的哪一边,梯度下降法都会使
w
\mathbf{w}
w以步长为
a
a
a的速度向最小值点移动,当移动到误差可以接受的范围时,便取这个
w
\mathbf{w}
w为最小值点。
特点:
1.在表示确信度时,不是直接采用几何间隔而是利用了函数间隔来反映确信度;
2.相对于线性回归,该映射范围只是一个值在(0,1)的概率,通过概率判断属于哪个分类;
3.sigmoid函数的图像告诉我们,绝大多数的点的输出相差不大,通过sigmoid函数,使得样本点更加密集,而且,见笑了比较极端的点对于整体的影响;
4.优化目标时,为了方便计算,省去了符号,这导致本应使用梯度上升法,转变为使用梯度下降法;同样为了方便计算,将复杂的累乘计算进行对数处理;
5.梯度下降法的使用,高效的求解了
w
\mathbf{w}
w。