机器学习与深度学习的基本概念

目录

视频链接
https://www.bilibili.com/video/BV1Wv411h7kN/?p=3&spm_id_from=pageDriver&vd_source=ef8c99c8c4165aea8f811dafa9772ecd

https://www.bilibili.com/video/BV1J94y1f7u5/?p=3&vd_source=ef8c99c8c4165aea8f811dafa9772ecd

机器学习是什么?

机器学习就是找一个我们写不出来的函数,但是能够实现用户想要的结果。这个函数的输入可以是向量、矩阵以及序列(连续的段落以及语音信息),输出可以是单个数值(相对应的问题称之为回归regression)、类别(分类问题)、序列

机器学习的输入输出

机器学习的任务

回归Regression

机器学习的输出是一个数值

分类Classification

给出基本的选项,对给定的输入按照这些基本的选项进行分类

创造学习Structed Learing

根据给定输入,从无到有创造出一个东西

机器学习怎么找这个函数

定义含未知参数的函数

猜测这个函数的形式,进行定义

y = f ( x ) y=f(x) y=f(x)

这个f即可称为模型model,此时,x称作特征值feature,y为预测值predict,y的真实值称为标签label

y = b + w x , y = b + ∑ j w j x j y=b+wx,y=b+ \sum_{j} w_jx_j y=b+wx,y=b+jwjxj

  • 未知参数

    • 偏置量bias

    • 权重weight

可以给定的参数:超参hyperparameter

定义loss损失函数

loss损失函数是关于未知参数的一个函数,是来表示当前这个未知参数的好坏优劣

具体可以定义loss值为下列公式

l o s s = 1 n × ∑ i = 1 n e f i loss=\frac1 n \times \sum_{i=1}^ne_{fi} loss=n1×i=1nefi

M A E : e f i = ∣ y i − y ′ ∣ 或 者 是 M S E : ( y i − y ′ ) 2 MAE:e_{fi}=|y_i-y' | 或者是 MSE:(y_i-y')^2 MAEefi=yiyMSE(yiy)2

定义优化器optimization

优化器optimization是用来找一组最好的w与b,这个最好的w与b会使loss也最低(一般找到的标准是此时loss关于w的函数的斜率为0)
课程一般是采用Gradient Descent方法:

  • 随机选取初始值,设置迭代次数

  • 计算该点的斜率 w对loss的偏导,若斜率为负,则在该点左侧loss值更大,若斜率为正,则在该点右侧loss值更大

  • w的迭代公式:其中 的η为学习率,是人为设置的(人为设置的参数称之为hyper parameters超参数)

w i + 1 = w i − η × ∂ l o s s ∂ w ∣ w = w 0 w_{i+1}=wi-\eta \times \frac{\partial loss}{\partial w}|_{w=w^0} wi+1=wiη×wlossw=w0

  • 使用Gradient Descent会有全局最优解和局部最优解,但这并不是Gradient Descent的真正问题
  • 多参数的Gradient Descent应用需要进行分别对loss的微分,然后分别进行更新

📌这里之前设置的含未知参数的方程最后得到的是liner model,但是liner model过于简单,难以描述一些复杂的情况,这种来自于model的限制叫做model bias

写出一个更复杂的有未知参数的函数

sigmoid


未 知 函 数 = 常 量 + 若 干 个 s i g m o i d 的 和 未知函数= 常量+ 若干个sigmoid的和 =+sigmoid

基本推理过程


红线=常数3+蓝线012

📌所有的折线段Liner Curves都可以用常量+若干个sigmoid来表示。而对于所有的连续曲线段也都可以用这样的方法去近似。转折点越多,需要的sigmoid越多,越容易过拟合。

上述的蓝色折线段称之为Hard sigmoid,用sigmoid去逼近

sigmoid函数介绍

在这里插入图片描述

sigmoid函数的取值是在0和1之间,其基本公式如下:

s i g m o i d ( x ) = 1 1 + e − x sigmoid(x)=\frac{1} {1+e^{-x}} sigmoid(x)=1+ex1

我们所用到的sigmoid是** c sigmoid(b+wx)**,即

y = c 1 1 + e − ( b + w x i ) y=c \frac {1} {1+e^{-(b+wx_i)}} y=c1+e(b+wxi)1

其中,w影响曲线的斜率,b影响曲线的位置(进行左右平移),c影响曲线的高度(会超过1)
在这里插入图片描述

继续推导

回到最初的推导:

  • 当特征值x取前一天进行推导,那么红线的最终方程如下:

    x i + 1 = b + ∑ i = 1 n c i s i g m o i d ( b i + w i x i ) x_{i+1}= b + \sum_{i=1}^{n} c_i sigmoid (b_i+w_ix_i) xi+1=b+i=1ncisigmoid(bi+wixi)

  • 当特征值x取前面多天进行推导,那么红线的最终方程如下:

    x i + 1 = b + ∑ i = 1 n c i s i g m o i d ( b i + ∑ j n w i j x j ) x_{i+1}= b + \sum_{i=1}^{n} c_i sigmoid (b_i+ \sum_{j }^{n}w_{ij}x_j) xi+1=b+i=1ncisigmoid(bi+jnwijxj)
    y = b + c T a , a = s i g m o i d ( r ) , r = b + W x y=b+ c^T a, a=sigmoid(r), r=b+Wx y=b+cTa,a=sigmoid(r),r=b+Wx

    其中x为特征值(单个值或多个值的向量),W的行数即表示有多少个sigmoid是超参数hyperparameter,W的列也是超参数,表示用前多少天的。剩下的均为未知参数,可以将W、内外b、C拉直结合成一个向量表示未知参数θ.

    紧接着定义loss,以及optimization得到最优的参数θ。其中在最优化时求除的偏导向量叫做gradient
    gradient向量的生成,参数的迭代
    为了减少特征值太多计算困难,我们将特征值随机划分成若干个batch,每次取一个batch中的样本进行一次gradient的计算并更新θ,称为一次update。算完一次全部的batch称为一次epoch。
    这里的epoch数和batch大小均是超参数

采用epoch和batch

ReLU线性整流函数

也可以用Relu来进行复杂函数的表示

Relu介绍

在这里插入图片描述

其基本公式为:

f ( x ) = m a x ( 0 , x ) f(x)=max(0,x) f(x)=max(0,x)

我们用到的表示形式是:用2个relu可以表示一个sigmoid

f ( x ) = c m a x ( 0 , b + w x ) , f ( x ) = c m a x ( 0 , b + ∑ j w j x j ) f(x)=cmax(0,b+wx),f(x)=cmax(0,b+\sum_jw_jx_j) f(x)=cmax(0,b+wx),f(x)=cmax(0,b+jwjxj)
sigmoid转relu

📌Relu与sigmoid都是激活函数 Activation function。 可以多做几次求a的过程,设置多个隐含层。
过拟合over fitting:随着网络的复杂,训练集的loss降低而测试集的loss却增大(隐含层过多,激活函数过多都会导致over
fitting)

多做几次求a——增加隐含层复杂网络"
每一个求a都叫做一个神经元,若干个神经元这样迭代称之为神经网络,而近来称多层的神经网络为深度学习

选修

深度学习+反向传播

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值