NLP 分类项目 :姓—国家名(从MLP到CNN)

1.项目简介

本项目的功能如下:
在这里插入图片描述

即输入姓,输出最有可能的国家名最有可能的K个国家名。
本文的重点为如何构建这个分类模型。

接下来,我将开始我的叙述。

2.前置知识

本部分将详细介绍本项目所需的两个核心概念,即多层感知机和卷积神经网络,有相关基础者可自行跳过。
其他机器学习基础知识例如损失函数、优化器等,我将放在下一节具体实现部分进行讲解。
另外,本部分为笔者自己的理解,若有错误,欢迎大家指出和交流。

在介绍本部分时,我将按照what,why的逻辑展开。
即:它是什么;为什么要使用它;
至于how部分,即如何使用它,我将在下一节结合具体代码进行介绍。
本部分目录如下:

  • 2.1 单层感知机
  • 2.2 多层感知机
  • 2.3 卷积操作
  • 2.4 卷积神经网络

2.1 单层感知机

what
单层感知机是机器学习中最为基础的方法之一,也可以认为是一种最为简单的神经网络,其模型结构与逻辑回归是一致的,都是多个输入,乘以权值求和再加上偏置,再经过激活函数得到输出,如下图所示。
在这里插入图片描述

我们可以认为其为一个线性函数:
S = ∑ i = 1 n x i w i S=\sum_{i=1}^{n} x_iw_i S=i=1nxiwi
若我们令S=0,即可构造一条直线:
∑ i = 1 n x i w i = 0 \sum_{i=1}^{n} x_iw_i=0 i=1nxiwi=0
利用这条直线,我们即可实现简单的二分类,如下图所示:
在这里插入图片描述
同时,我们可以发现,最终的输出并非S,而是S经过激活函数的结果。
那为什么要经过激活函数?我认为是受到了神经细胞的启发,即神经细胞只有收到的刺激足够大,才能产生兴奋。
但其实激活函数的最关键的作用是在于其非线性性质,这个将在下节多层感知机进行叙述。
why:
从上述描述可知。单层感知机通过对输入数据进行线性加权和阈值处理,可以实现简单的分类功能。
同时,其也引入了神经网络的概念。
故其虽然简单,且分类性能不强,但却是人工神经网络的重要基础模型之一。

2.2 多层感知机

what:
首先我们来看多层感知机的形象化表示:
(一般来说,其由输入层,隐层,输出层组成。隐层的数目任意。)
在这里插入图片描述

本图中激活函数未标出
通过观察,我们可以发现,其本质上就是多个单层感知机串联起来。

那么这么串联起来会有什么好处呢?以下面经典问题(异或)为例:
在这里插入图片描述
对于该问题,很明显,这是一个线性不可分问题,故通过单层感知机无法将不同类别的点分开。
但是,多层感知机却可以!!!为什么呢?请读者先思考,我将在why部分解答。

why:
其实上述问题的关键在于激活函数,试想一下,若没有激活函数,那么两层的感知机可表示为:
F ( X ) = W 2 ∗ ( W 1 ∗ X ) F(X)=W_2*(W_1*X) F(X)=W2(W1X)
但此时,我们应该能找到一个 W 3 W_3 W3使得:
F ( X ) = W 3 ∗ X = W 2 ∗ ( W 1 ∗ X ) F(X)=W_3*X=W_2*(W_1*X) F(X)=W3X=W2

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值