神经网络入门(详细 )

机器学习流程

机器学习需要人工选取数据,提取数据。
深度学习是机器学习的一部分。

  • 数据获取
  • 特征工程
    数据特征决定了模型的上限
    预处理和特征提取是最核心的
    算法与参数选择决定了如何逼近这个上限
  • 建立模型
  • 评估与应用
传统特征提取方法:

在这里插入图片描述

为什么需要深度学习

在这里插入图片描述
·解决核心是,如何去提取特征

图像分类

计算机视觉面临的挑战

  • 照射角度
    在这里插入图片描述
  • 性状改变
    在这里插入图片描述
  • 部分遮蔽
    在这里插入图片描述
  • 背景混入
    在这里插入图片描述

机器学习常规套路

  1. 收集数据并给定标签
  2. 训练一个分类器
  3. 测试,评估

K近邻

K近邻算法

数据:两类点方块和三角
绿色的点属于方块还是三角呢?
K=3还是K=5?结果一样吗?
在这里插入图片描述

K近邻计算流程:

  1. 就算已知类别数据集中的点与当前点的距离
  2. 按照距离依次排序
  3. 选取与当前点距离最小的K个点
  4. 确定前K个点所在类别的出现概率
  5. 返回前K个点出现频率最高的类别作为当前点预测分类

K近邻分析

KNN 算法本身简单有效,它是一种 lazy-learning 算法。
分类器不需要使用训练集进行训练,训练时间复杂度为0。
KNN 分类的计算复杂度和训练集中的文档数目成正比,也就是说,如果训练集中文档总数为 n,那么 KNN 的分类时间复杂度为O(n)。
K 值的选择,距离度量和分类决策规则是该算法的三个基本要素。

距离的选择:

L1 distance: d 1 ( I 1 , I 2 ) = ∑ p ∣ I 1 p − I 2 p ∣ d_1(I_1,I_2)=\sum_p \vert I_1^p - I_2^p \vert d1(I1,I2)=pI1pI2p在这里插入图片描述

为什么K近邻不能用来图像分类?

背景主导是一个最大的问题,我们关注的却是主体(主要成分)
如何才能让机器学习到哪些是重要的成分呢?

神经网络基础

线性函数

从输入 --> 输出的映射
在这里插入图片描述

计算方法

在这里插入图片描述
什么样的 W 更适合我们的预期目标

损失函数

如何衡量分类的结果呢?

结果的得分值有着明显的差异,我们需要明确的指导模型的当前效果,有多好或是多差!

如果损失函数的值相同,那么意味着两个模型一样吗?
在这里插入图片描述

在训练过程中,关注权重参数是否会发生变异,发生过拟合

损失函数 L i = ∑ j ≠ y i m a x ( 0 , s j − s y i + 1 ) L_i=\sum_{j\ne y_i}max(0,s_j-s_{y_i}+1) Li=j=yimax(0,sjsyi+1)

损失函数其实有很多种,我们来实验一个

S j S_j Sj 错误类别, S y i S_{y_i} Syi 正确类别
Δ \Delta Δ表示容忍程度

在这里插入图片描述

正则化惩罚项

在这里插入图片描述
神经网络的缺点就是太强了

λ \lambda λ越大,抑制效果越强

Softmax分类器

现在我们得到的是一个输入的得分值,但如果给我一个概率值岂不更好!

如何把一个得分值转换成一个概率值呢?
在这里插入图片描述
归一化: P ( Y = k ∣ x = x i ) = e s k ∑ j e s j P(Y=k|x=x_i)= {e^sk \over \sum_je^sj} P(Y=kx=xi)=jesjesk \qquad where    \; s = f ( x i ; W ) s=f(x_i;W) s=f(xi;W)
计算损失值: L i = − l o g P ( Y = y i ∣ X = x i ) L_i=-logP(Y=y_i|X=x_i) Li=logP(Y=yiX=xi)
在这里插入图片描述
交叉熵损失函数
通过对数函数求损失

前向传播

在这里插入图片描述

反向传播

在这里插入图片描述

从后往前,逐层逐步传播

加法门单元:均等分配
MAX门单元:给最大的
乘法门单元:互换的感觉

链式法则

梯度是一步一步传的
·在这里插入图片描述

复杂的例子

在这里插入图片描述

整体结构

在这里插入图片描述
非线性:激活函数sigmod、max、relu等

基本结构: f = W 2 m a x ( 0 , W 1 x ) f=W_2max(0,W_1x) f=W2max(0,W1x)
继续堆叠一层: f = W 3 m a x ( 0 , W 2 m a x ( 0 , W 1 x ) ) f=W_3max(0,W_2max(0,W_1x)) f=W3max(0,W2max(0,W1x))
神经网络的强大之处在于,用更多的参数来拟合复杂的数据
(参数多到多少呢?百万级别都是小儿科,但是参数越多越好吗?)

神经元个数越多,得到的过拟合成对越大,在计算机上得到的效果可能会越好,运行速度相对会变慢。
https://cs.stanford.edu/people/karpathy/convnetjs/demo/classify2d.html

正则化的作用

在这里插入图片描述

惩罚力度加大,W更加正常,边界更加平滑,防止过拟合

参数个数对结果的影响

在这里插入图片描述

激活函数

非常重要的一部分

常用的激活函数(Sigmoid,Relu,Tanh等)

激活函数对比
在这里插入图片描述

Sigmod 函数可能会造成梯度消失
现在市面上多采用 Relu 函数及其变式

数据预处理

不同的预处理结果会使得模型的效果发生很大的差异。
在这里插入图片描述

参数初始化

参数初始化同样非常重要

通常我们都使用随机策略来进行参数初始化
W = 0.01 ∗ n p . r a n d o m . r a n d n ( D , H ) W = 0.01* np.random.randn(D,H) W=0.01np.random.randn(D,H)

让W值尽可能比较小,平滑

DROP-OUT(传说中的七伤拳)

过拟合是神经网络非常头疼的一个大问题!
在这里插入图片描述
在每一轮训练中,随机选择一些神经元杀死。
在训练中,每层每一次随机选择一部分杀死。

线性回归

梯度下降

目标函数: J ( θ 0 , θ 1 ) = 1 2 m ∑ 1 m ( h θ ( x ( i ) − y ( i ) ) ) J(\theta_0,\theta_1) = {1 \over 2m}\sum_{1}^m(h_\theta(x^{(i)}-y^{(i)})) J(θ0,θ1)=2m11m(hθ(x(i)y(i)))

寻找山谷的最低点,也就是我们的目标函数终点(什么样的参数能使得目标函数达到极值点)在这里插入图片描述
下山分几步走呢?(更新参数)
(1):找到当前最合适的方向
(2):走那么一小步,走快了该“跌倒”了
(3):按照方向与步伐去更新我们的参数

  • 5
    点赞
  • 109
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
人工智能的底层模型是"神经网络"(neural network)。神经网络是一种模拟人类大脑思考过程的模型。它由许多人造神经元(artificial neuron)组成,这些神经元接受多个输入,并产生一个输出。感知器(perceptron)是最早的人造神经元模型之一,它接受多个输入,并根据输入的条件判断产生相应的输出。神经网络的运作过程包括确定输入和输出,寻找合适的算法来从输入得到输出,用已知答案的数据集训练模型,根据新的数据进行预测并对模型进行校正。 对于人工智能神经网络入门,建议按照以下步骤进行: 1. 了解神经网络的基本概念:学习神经网络的基本组成部分,如神经元、输入、输出和权重等。 2. 学习神经网络的运作原理:了解神经网络是如何通过输入和权重进行计算,以及如何通过激活函数产生输出。 3. 掌握神经网络的训练方法:了解如何使用已知答案的数据集来训练神经网络,通过调整权重和偏差来提高模型的准确性。 4. 学习常见的神经网络架构:了解常见的神经网络结构,如前馈神经网络(feedforward neural network)和卷积神经网络(convolutional neural network)等,以及它们在不同领域应用的案例。 5. 使用神经网络框架进行编程实践:选择一种常用的神经网络框架(如TensorFlow或PyTorch),通过编写代码实现简单的神经网络模型,例如图像分类或回归问题。 通过以上步骤的学习和实践,你就可以入门人工智能神经网络,并逐渐深入了解更高级的概念和技术。<span class="em">1</span> #### 引用[.reference_title] - *1* [神经网络入门(neural network) ---概述](https://blog.csdn.net/sqc3375177/article/details/77851389)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Harvey2001

感谢您的认可,无限飓风不断进步

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值