AI learning note 2 -- 基础知识

AI learning note

基础知识

人工智能入门储备最最最基础知识。


一、数据如何输入?

就像人能识别自然界中各种各样的事物一样,我们既然要做人工智能,也要让计算机去识别各种事物。计算机可识别的是机器语言,即二进制代码,我们对各种数据都有对应的数字转换表现形式,这里拿图像来举例。

一张图是由很多像素点构成的,每一个像素点也有对应的颜色,而所有的颜色都可以由红,绿,蓝三种颜色调配而成,故假设图像为64*64个像素大小,那么这张图片可以由三个shape为(64,64)的矩阵表示,从而使计算机对其识别。

二、神经网络预测

1.逻辑回归

神经网络预测依赖的最简单公式:

线性回归:z = dot(w, x) + b

在线性回归外嵌套一层激活函数,就成了逻辑回归:

逻辑回归: y ^ = σ ( w T x + b ) \hat{y}=\sigma \left( w^Tx+b \right) y^=σ(wTx+b)

其中 y ^ \hat{y} y^为预测结果,与标签值相比较来得出预测结论。
σ ( ) \sigma() σ()为激活函数,x为样本特征,预测模型的好坏由w和b来决定。

2.激活函数

① sigmoid函数

sigmoid: σ = 1 1 + e − x \huge\sigma=\frac{1}{1+e^{-x}} σ=1+ex1

图像为:
在这里插入图片描述
sigmoid函数一般很少使用,但很适合用做二分类问题中作为输出层的激活函数。

② tanh函数

tanh: σ = e x − e − x e x + e − x \huge\sigma =\frac{e^x-e^{-x}}{e^x+e^{-x}} σ=ex+exexex

图像为:
在这里插入图片描述
tanh函数比sigmoid函数更加优秀一些,tanh函数得到的这些更接近与0的值传递给下一层神经元,会让工作变得更加高效。

PS:sigmoid和tanh函数共同的缺点是当输入值较大时,神经网络的学习速度很慢。

③ relu函数

relu:   s i g m a = max ⁡ ( 0 ,   x ) \ \Large sigma =\max \left( 0,\ x \right)  sigma=max(0, x)

图像为:
在这里插入图片描述
relu是整流线性单元,是最广泛使用的激活函数之一。

它是非线性的,故可以用于反向传播。

relu函数当输入小于零时,值为0,就是神经元并没有被激活进行信息处理,这意味着同一时间只有部分神经元被激活,网络变得稀疏,工作会更加有效率。

④ leaky relu

leaky relu: { x    i f   x > 0 λ x   i f   x ≤ 0 \large\left\{ \begin{array}{c} x\ \ if\ x>0\\ \lambda x\ if\ x\le 0\\ \end{array} \right. {x  if x>0λx if x0

图像为:在这里插入图片描述
leaky relu的优点是将0的梯度换成了非零梯度,一般将 λ \lambda λ的数值设置比较小。

3.损失函数

L ( y ^ ( i ) , y ( i ) ) = − ( y ( i ) log ⁡ ( y ^ ( i ) ) + ( 1 − y ( i ) ) log ⁡ ( 1 − y ^ ( i ) ) ) L\left( \hat{y}^{\left( i \right)},y^{\left( i \right)} \right) =-\left( y^{\left( i \right)}\log \left( \hat{y}^{\left( i \right)} \right) +\left( 1-y^{\left( i \right)} \right) \log \left( 1-\hat{y}^{\left( i \right)} \right) \right) L(y^(i),y(i))=(y(i)log(y^(i))+(1y(i))log(1y^(i)))

i为训练样本号。

损失函数用来衡量我们的预测精度,运算结果越小,预测结果越准确。

成本函数就是对每个训练样本的“损失”累加求平均值。它的结果越大,即成本越大,即预测越不准确。
J ( w , b ) = 1 m ∑ i = 1 m L ( y ^ ( i ) , y ( i ) ) J\left( w,b \right) =\frac{1}{m}\sum_{i=1}^m{L\left( \hat{y}^{\left( i \right)},y^{\left( i \right)} \right)} J(w,b)=m1i=1mL(y^(i),y(i))

4.梯度下降

神经网络的预测好坏由w和b来决定,通过梯度下降来不断改变w,b来寻找到最佳的值,也就是一步步学习,使预测结果更加精准。

成本函数图像:
在这里插入图片描述
梯度下降算法将使w,b一步步减小,不断去寻找“漏斗”图像的最小值。

之前的预测函数及成本函数都是第一部分“前向传播”的内容。
更新w,b进行学习是第二部分“反向传播”的内容

更新w的函数:

w ’ = w − r ∗ d w \large w^’=w-r*dw w=wrdw
r是学习率,是一个超参数。dw为w的偏导数。

5.向量化

神经网络需要大量的数据计算,这就导致了如果使用传统的for循环遍历所有的样本,特征会耗费大量的时间。

向量化可以帮助我们节省上百倍的时间。
尽量去使用向量化代替for循环。

6.基础概念

标签:预测的对象。

特征:输入变量x,预测对象的特征。

样本:数据对象的实例,分为有标签样本和无标签样本。
有标签样本用于训练,无标签样本用于测试,预测。

模型:定义特征与标签之间的关系。
训练指创建或学习模型。
推断指将训练后的模型用于无标签样本来测试或预测。

静态训练:在系统发布前已经利用大型数据集将系统训练好了。

动态训练:系统发布后,数据仍在不断输入进系统进行学习。

静态训练在现在应用更加有优势,在发布系统之前可以不断进行修改测试。

缺点就是容易过时,所以适合用于预测数据不会随着时间推移而发生较大变动的情况,例如识别动物。

学习速度:神经网络的学习速度就是成本函数值下降的快慢。
分类结果:分类结果就是最终的分类正确率,即预测准确率。

超参数:需要选择设置的参数。
神经网络中的超参数主要包括:
1.学习率
2.正则化参数
3.神经网络的层数
4.每一个隐层中神经元的个数
5.学习的回合数 Epoch
6.小批量数据 minibatch的大小
7.输出神经元的编码方式
8.代价函数的选择
9.权重初始化的方法
10.神经元激活函数的种类
11.参加训练模型数据的规模

超参数会影响神经网络的学习速度以及最终的分类结果。

主要影响方面:

分类结果 2,3,4,7
代价函数曲线下降速度 9
学习速度 1,8,10
模型分类正确率及训练总时间 5,6,11

监督学习:输入数据有标签的学习,从训练中找到特征与标签的关系,从而预测没有标签的新数据。分类(classification)就是一种监督学习。

非监督学习:输入数据无标签的学习,即聚类(clustering)。

结构化数据:具有明确含义的数据,如大小,数量,年龄。
非结构化数据:没有明确含义的数据,如单词,音频,图像。

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值