Machine learning 多层感知器-找到;分离;曲线

Machine learning 多层感知器-找到;分离;曲线,machine-learning,artificial-intelligence,perceptron,Machine Learning,Artificial Intelligence,Perceptron,对于单层感知器,很容易找到“分离线”(我不知道专业术语)的方程,这条线在训练后,根据感知器的权重,在两种类型的点之间分离。在多层感知器中,如何以类似的方式找到两类点之间的曲线方程(不是直线) 谢谢。这只是尝试获得分离边界或曲线的近似值 数据集 下面我绘制了示例数据集的两种类型之间的分离曲线。该数据集来自coursera-Andrew Ng的机器学习课程。下面的代码片段也借鉴了Andrew的ML课程的Ex6 边界图 要绘制分离曲线 首先根据训练数据训练神经网络 在Matlab中,使用所需的粒度

对于单层感知器,很容易找到“分离线”(我不知道专业术语)的方程,这条线在训练后,根据感知器的权重,在两种类型的点之间分离。在多层感知器中,如何以类似的方式找到两类点之间的曲线方程(不是直线)


谢谢。

这只是尝试获得分离边界或曲线的近似值

数据集 下面我绘制了示例数据集的两种类型之间的分离曲线。该数据集来自coursera-Andrew Ng的机器学习课程。下面的代码片段也借鉴了Andrew的ML课程的
Ex6

边界图 要绘制分离曲线

  • 首先根据训练数据训练神经网络
  • Matlab
    中,使用所需的粒度生成二维数据网格,如下所示:
此函数用于计算矩阵
Z
的轮廓线。参数
X
Y
VN
是可选的

 The return value LEV is a vector of the contour levels.  The
 return value C is a 2 by N matrix containing the contour lines in
 the following format

      C = [lev1, x1, x2, ..., levn, x1, x2, ...
           len1, y1, y2, ..., lenn, y1, y2, ...]

 in which contour line N has a level (height) of LEVN and length of
 LENN.
因此,如果您确实想得到曲线的分析描述,矩阵
C
应该包含足够的信息。在我的示例图中,在解析
C
之后,我得到了30个级别。第一层中前6个点的坐标如下所示:

x: 2.3677e-01   2.3764e-01   2.4640e-01   2.4640e-01   2.4640e-01   2.4640e-01 ...
y: 4.0263e-01   4.0855e-01   4.0909e-01   4.1447e-01   4.2039e-01   4.2631e-01 ...
请注意,它们正是轮廓上从(0.23677,0.40263)开始的点。使用这些轮廓点,可以直接使用多条线段来近似曲线(因为每条线段可以由两个端点确定)


希望能有帮助

多谢各位。还有一种近似曲线的分析方法吗?首先,您可能希望尝试识别网格上最靠近轮廓的点(查看
轮廓
函数的源代码应该会有所帮助)。然后,使用多个线段来近似曲线是很简单的(因为每条线段可以由两个端点确定)。
[C, LEV] = contourc (X, Y, Z, VN)
 The return value LEV is a vector of the contour levels.  The
 return value C is a 2 by N matrix containing the contour lines in
 the following format

      C = [lev1, x1, x2, ..., levn, x1, x2, ...
           len1, y1, y2, ..., lenn, y1, y2, ...]

 in which contour line N has a level (height) of LEVN and length of
 LENN.
x: 2.3677e-01   2.3764e-01   2.4640e-01   2.4640e-01   2.4640e-01   2.4640e-01 ...
y: 4.0263e-01   4.0855e-01   4.0909e-01   4.1447e-01   4.2039e-01   4.2631e-01 ...