暑期SMALE魔鬼训练day3

暑期SMALE魔鬼训练day2

上午:

  1. 将向量下标为偶数的分量 ( x 2 , x 4 , …   ) (x_2, x_4, \dots) (x2,x4,)累加, 写出相应表达式.
    ∑ i m o d    2 = 0 x i \sum_{i \mod 2 = 0} x_i imod2=0xi
  2. 各出一道累加、累乘、积分表达式的习题, 并给出标准答案.
    a)函数 f ( x ) = 2 x 2 f(x) = 2x^2 f(x)=2x2 x ∈ [ 1 , 15 ] x\in[1, 15] x[1,15]时的累加和
    ∑ x ∈ [ 1 , 15 ] 2 x 2 \sum_{x \in[1, 15]}2x^2 x[1,15]2x2
sum = 0
for x in range(1, 16):
    sum = sum + 2*x**2

b). 求取 x ∈ [ 1 , 100 ] x \in [1, 100] x[1,100]中的3的倍数累乘结果
A = { a ∈ [ 1 , 100 ] ∣ a m o d    3 = 0 } \mathbf{A} = \{a \in [1, 100] \vert a \mod 3 = 0\} A={a[1,100]amod3=0}
∏ a ∈ A a \prod_{a \in \mathbf{A}} a aAa

product = 1
for a in range(1, 101):
    if a % 3 == 0:
        product *= a

c)求 f ( x ) = sin ⁡ ( x ) + x f(x) = \sin(x) + x f(x)=sin(x)+x在[3, 8]上的积分
∫ 3 8 sin ⁡ ( x ) + x d x \int_3^8\sin(x) + x\mathrm{d}x 38sin(x)+xdx

import numpy as np

x = np.linspace(3,8,10000)
y = np.sin(x) + x
dx = x[1] - x[0]                        #每个矩形的宽度
fArea = np.sum(y*dx)                    #矩形宽*高,再求和
print("Integral area:",fArea)
  1. 给一个常用的定积分, 将手算结果与程序结果对比.
    f ( x ) = ∫ 1 e 1 x + 1 d x f(x) = \int_1^e\frac{1}{x} + 1 \mathrm{d}x f(x)=1ex1+1dx
    手动计算:
    原函数为:
    g ( x ) = l n ( x ) + x g(x) = \mathrm{ln}(x) + x g(x)=ln(x)+x
    带入上下限:
    l n ( e ) + e − [ l n ( 1 ) + 1 ] = e \mathrm{ln}(e) + e - [\mathrm{ln}(1) + 1] = e ln(e)+e[ln(1)+1]=e

代码

import numpy as np

x = np.linspace(1,np.e,10000)
y = 1/x + 1
dx = x[1] - x[0]                        #每个矩形的宽度
fArea = np.sum(y*dx)                    #矩形宽*高,再求和
print("Integral area:",fArea)
print('e:', np.e)

计算结果
在这里插入图片描述
下午:
自己写一个小例子 ( n = 3 , m = 1 ) (n=3, m = 1) (n=3,m=1)来验证最小二乘法.

通过男性身高来大致估计体重

身高(cm)体重(kg)
17567
17060
16658

X \mathbf{X} X表示身高, Y \mathbf{Y} Y表示体重, w \mathbf{w} w表示权重
根据推导: w = ( X T X ) − 1 X T Y \mathbf{w}=(\mathbf{X}^ \mathrm{ T }\mathbf{X})^{-1}\mathbf{X}^ \mathrm{ T }\mathbf{Y} w=(XTX)1XTY
( [ 1 1 1 175 170 166 ] × [ 1 175 1 170 1 166 ] ) − 1 × [ 1 1 1 175 170 166 ] × [ 67 60 58 ] \left(\left[\begin{matrix} 1 & 1 & 1 \\175 & 170 & 166\end{matrix}\right] \times \left[\begin{matrix} 1 & 175 \\ 1 & 170 \\ 1 & 166\end{matrix}\right]\right)^{-1} \times \left[\begin{matrix} 1 & 1 & 1 \\175 & 170 & 166\end{matrix}\right] \times \left[\begin{matrix}67 \\ 60 \\ 58\end{matrix}\right] [117511701166]×1111751701661×[117511701166]×676058
= [ − 111.45901693 1.01639344 ] =\left[\begin{matrix}-111.45901693 \\ 1.01639344 \end{matrix}\right] =[111.459016931.01639344]
将原来的数据带入
175 × 1.01639344 − 111.45901693 = 66.4098 175 \times 1.01639344 - 111.45901693 = 66.4098 175×1.01639344111.45901693=66.4098
170 × 1.01639344 − 111.45901693 = 61.3278 170 \times 1.01639344 - 111.45901693 = 61.3278 170×1.01639344111.45901693=61.3278
166 × 1.01639344 − 111.45901693 = 57.2623 166 \times 1.01639344 - 111.45901693 = 57.2623 166×1.01639344111.45901693=57.2623

晚上:
自己推导一遍, 并描述这个方法的特点 (不少于 5 条).
对于分类目标点 y i ∈ { 0 , 1 } y_i \in \{0, 1\} yi{0,1},要找到一个超平面 w T x + b = 0 w^\mathrm{T} x + b = 0 wTx+b=0使得 Y \mathbf{Y} Y中的两类位于超平面的两侧。为了找到一个最优的平面,通过点到直线的距离来计算目标点与分类平面的关系。
f ( x ) = w T x f(x) = w^\mathrm{T} x f(x)=wTx此处的 w 和 x w 和x wx是加上偏置 b b b的 。由于点到超平面的距离可以取值到无穷大于是通过sigmoid函数将输出值压缩到(0, 1)之间,且可以将距离转化成概率。
P ( y = 1 ∣ x ; w ) = 1 1 + e − w x P(y = 1\vert \mathrm{x};\mathrm{w}) = \frac 1{1 + e^{\mathrm{-wx}}} P(y=1x;w)=1+ewx1
将上述式子写成一个通式
P ( y i ∣ x i ; w ) = P ( y i = 1 ∣ x i ; w ) y i ( 1 − P ( y i = 0 ∣ x i ; w ) ) 1 − y i P(y_i \vert \mathrm{x}_i;\mathrm{w}) = P(y_i = 1\vert \mathrm{x}_i;\mathrm{w})^{y_i}(1 - P(y_i =0 \vert \mathrm{x}_i;\mathrm{w}))^{1-y_i} P(yixi;w)=P(yi=1xi;w)yi(1P(yi=0xi;w))1yi
对于全体对象进行优化,可以将全部的输出概率相乘,来求得使之最大的参数 w \mathrm{w} w
arg max ⁡ w ∏ i = 1 n P ( y i ∣ x i ; w ) \argmax_\mathrm{w}\prod_{i = 1}^nP(y_i\vert \mathrm{x}_i;\mathrm{w}) wargmaxi=1nP(yixi;w)
由于连乘很难计算,所以对式子两端同时取对数
log ⁡ L ( w ) = ∑ i = 1 n log ⁡ P ( y i ∣ x i ; w ) \log L(\mathrm{w}) = \sum _{i = 1}^n\log P(y_i \vert \mathrm{x}_i;\mathrm{w}) logL(w)=i=1nlogP(yixi;w)
= ∑ i = 1 n y i log ⁡ P ( y i = 1 ∣ x i ; w ) + log ⁡ P ( y i = 0 ∣ x i ; w ) − y i log ⁡ P ( y i = 0 ∣ x i ; w ) = \sum _{i = 1}^ny_i \log P(y_i = 1\vert \mathrm{x}_i;\mathrm{w}) + \log P(y_i =0 \vert \mathrm{x}_i;\mathrm{w}) - y_i \log P(y_i =0 \vert \mathrm{x}_i;\mathrm{w}) =i=1nyilogP(yi=1xi;w)+logP(yi=0xi;w)yilogP(yi=0xi;w)
带入sigmoid函数
= ∑ i = 1 n y i x i w − log ⁡ ( 1 + e x i w ) =\sum _{i = 1}^ny_i \mathrm{x}_i \mathrm{w} - \log (1+ e^{\mathrm{x}_i \mathrm{w}}) =i=1nyixiwlog(1+exiw)
最后通过梯度下降法求出 w w w,第 t + 1 t + 1 t+1轮迭代的值
w t + 1 = w t − α ∂ log ⁡ L ( w ) ∂ w \mathrm{w}^{t + 1} = \mathrm{w}^t -\alpha \frac {\partial \log L(\mathrm{w})} {\partial \mathrm{w}} wt+1=wtαwlogL(w)

特点:
1 适用于二分类问题,并且分类标签为0和1
2 分类器输出为正类或者负类的概率值
3 输出的概率大于0.5为正类小于0.5为负类
4 越是远离超平面输出的值越是接近0或1
5 求解参数矩阵时,不能通过令导数等于零的方法,只能用梯度下降法求解

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值