线性回归

在这里插入图片描述
可以写成向量相乘的形式

目标函数

在这里插入图片描述

线性回归做分类

  • 回归:实数域内连续的输出
  • 分类:
    输出向量,第i个输出值表示属于第i类的置信值
    为每个类学习一个线性模型oi=<x,wi>+bio_i=<x,w_i>+b_ioi=<x,wi>+bi
    标号y=[y1,y2,...,ym]y = [y_1,y_2,...,y_m]y=[y1,y2,...,ym]是一个长为m的向量,若i=y,则yi=1y_i=1yi=1,否则为0
    最小化均方误差1m∣∣o−y∣∣22{1 \over m}||o-y||_2^2m1∣∣oy22
    预测的标签是使oio_ioi最大的那个i
    arg max⁡i{oi}i=1m\argmax_i\{o_i\}_{i=1}^margmaxi{oi}i=1m

softmax 回归

  • 将分数转为可能性(非负,和为1)
    yˆ=softmax(o)\^{y}=softmax(o)yˆ=softmax(o)其中yiˆ=exp(oi)∑k=1mexp(ok)\^{y_i}={exp(o_i) \over \sum_{k=1}^mexp(o_k)}yiˆ=k=1mexp(ok)exp(oi)
    仍然是一个线性模型,以argmaxi{yiˆ}=argmaxi{oi}argmax_i \{\^{y_i}\}=argmax_i\{o_i\}argmaxi{yiˆ}=argmaxi{oi}做决策
  • 两个向量(yˆ\^{y}yˆyyy)之间的交叉熵损失(cross-entropy loss)
    H(y,yˆ)=∑i−yilog(yiˆ)=−logyyˆH(y,\^{y})=\displaystyle\sum_{\substack{i}}-y_ilog(\^{y_i})=-log\^{y_y}Hy,yˆ=iyilog(yiˆ)=logyyˆ

小批量(Mini-batch)随机梯度下降(SGD)

  • 用小批量SGD训练
    www是模型参数,bbb是批量大小,ηt\eta_tηt是在时间t时的学习率
    在时刻1随机初始化w1w_1w1
    之后重复迭代直到收敛:
    1、随机采样It⊂{1,...,n}I_t\subset\{1,...,n\}It{1,...,n},其中∣It∣=b|I_t|=bIt=b
    2、更新wt+1=wt−ηt▽wtl(XIt,yIt,wt)w_{t+1}=w_t-\eta_t\triangledown_{w_t}l(X_{I_t},y_{I_t},w_t)wt+1=wtηtwtl(XIt,yIt,wt)

  • 对超参数b和ηt\eta_tηt比较敏感,选取要慎重

示例代码链接
在这里插入图片描述

Logo

码道开发者社区,聚焦华为云码道 CodeArts 代码智能体,沉淀 Agent、Skill、鸿蒙开发实战内容,供开发者查阅资料、交流技术、分享工程实践

更多推荐