吴恩达《机器学习》8-5->8-6:特征与直观理解I、样本与值观理解II

8.5、特征与直观理解I

一、神经网络的学习特性

神经网络通过学习可以得出自身的一系列特征。相对于普通的逻辑回归,在使用原始特征 x1​,x2​,...,xn​ 时受到一定的限制。虽然可以使用一些二项式项来组合这些特征,但仍然受到原始特征的限制。在神经网络中,原始特征仅作为输入层存在。以一个三层的神经网络为例,输出层所做的预测利用的是第二层的特征,而不是输入层中的原始特征。因此,可以将第二层中的特征看作是神经网络通过学习后自动生成的一系列新特征,用于更好地预测输出变量。

二、神经元与逻辑运算

单层神经元,即没有中间层的情况,可以被用来表示逻辑运算,如逻辑与(AND)和逻辑或(OR)。通过一个简单的例子来说明逻辑与(AND)的表示。

逻辑与(AND)的神经网络表示

逻辑或(OR)的神经网络表示

逻辑或(OR)的表示与逻辑与(AND)类似,区别在于权重不同。通过选择合适的权重,可以构建表示逻辑或的神经网络。

8.6、样本与值观理解II

一、二元逻辑运算符与神经元表示

当输入特征为布尔值(0 或 1)时,可以使用单一的激活层来表示二元逻辑运算符。关键在于选择不同的权重,从而实现不同的逻辑运算。下面是几个例子:

1. 逻辑与(AND)的神经元表示

考虑一个神经元,其三个权重分别为 Θ0=−30,Θ1=20,Θ2=20。这个神经元的输出可以被视为等同于逻辑与(AND)运算。

2. 逻辑或(OR)的神经元表示

另一个神经元,其三个权重分别为 Θ0=−10,Θ1=20,Θ2=20,可以被视为等同于逻辑或(OR)运算。

3. 逻辑非(NOT)的神经元表示

一个仅含有两个权重的神经元,权重分别为 10 和−20,可以被视为等同于逻辑非(NOT)运算。

二、组合神经元实现复杂运算

通过组合这些神经元,可以实现更为复杂的逻辑运算。例如,想要实现 XNOR 运算符(当输入的两个值均为 1 或均为 0 时输出 1,否则输出 0),可以按照以下步骤:

  1. 构造一个能表示(NOT x1) AND (NOT x2) 部分的神经元。
  2. 将表示逻辑与(AND)的神经元和表示(NOT x1) AND (NOT x2) 的神经元以及表示逻辑或(OR)的神经元进行组合。

通过这样的方法,得到了一个能实现 XNOR 运算符功能的神经网络。

参考资料

[中英字幕]吴恩达机器学习系列课程

黄海广博士 - 吴恩达机器学习个人笔记

相关推荐
静心问道2 小时前
WGAN算法
深度学习·算法·机器学习
Ylucius2 小时前
动态语言? 静态语言? ------区别何在?java,js,c,c++,python分给是静态or动态语言?
java·c语言·javascript·c++·python·学习
LvManBa2 小时前
Vue学习记录之六(组件实战及BEM框架了解)
vue.js·学习·rust
LvManBa2 小时前
Vue学习记录之三(ref全家桶)
javascript·vue.js·学习
洛寒瑜2 小时前
【读书笔记-《30天自制操作系统》-23】Day24
开发语言·汇编·笔记·操作系统·应用程序
Kenneth風车2 小时前
【机器学习(五)】分类和回归任务-AdaBoost算法-Sentosa_DSML社区版
人工智能·算法·低代码·机器学习·数据分析
鸽芷咕2 小时前
【Python报错已解决】python setup.py bdist_wheel did not run successfully.
开发语言·python·机器学习·bug
星迹日3 小时前
C语言:联合和枚举
c语言·开发语言·经验分享·笔记
知识分享小能手3 小时前
mysql学习教程,从入门到精通,SQL DISTINCT 子句 (16)
大数据·开发语言·sql·学习·mysql·数据分析·数据库开发