📄 start.htm
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>Kohonen and CPANN toolbox</title>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
<meta name="generator" content="HAPedit 3.0">
<link href = "style_structure.css" rel="stylesheet" type="text/css">
<link href = "style_text.css" rel="stylesheet" type="text/css">
<link href = "style_tables.css" rel="stylesheet" type="text/css">
<style type="text/css">
<!--
.style1 {
color: #FF0000;
font-weight: bold;
}
-->
</style>
</head>
<body>
<div id="container">
<a name="top"></a>
<div id="header">
<iframe src="header.htm" width="740" height="60" scrolling="no" frameborder="0">
no i_frames allowed :: change browser
</iframe>
</div>
<div id="content">
<table width="740" border="0" cellpadding="0" cellspacing="0">
<tr>
<td width="150" valign="top">
<iframe src="menu_lateral.htm" width="135" height="268" scrolling="no" frameborder="0">
no i_frames allowed :: change browser
</iframe>
</td>
<td valign="top">
<div align="justify">
<div id="tab_duo_contenitor" class="text">
<span class="title_page">How to start </span>
<BR>
<BR>
<div id="tab_duo_text">
<div id="tab_space_lateral"><a href="#sub_1" class="lnk_text">Data structure</a></div>
<div id="tab_space_lateral"><a href="#sub_1_bis" class="lnk_text">Data scaling</a></div>
<div id="tab_space_lateral"><a href="#sub_2" class="lnk_text">How to prepeare the neural network settings</a></div> </div>
<BR><a name="sub_1"></a>
<BR>
<span class="title_paragraph">_ Data structure </span>
<BR>
<BR>
The dataset is defined as samples (rows) x variables (columns). If CPANNs are adopted, you have to input also a class vector; the class vector has dimensions samples x 1. Class labels must be numerical. If G classes are present, class labels must range from 1 to G (0 values are not allowed). Type:<BR>
<BR>
<div id="tab_duo_text" class="text_math">
load iris </div>
<BR>
on the MATLAB command window to see an example of data structure.
<BR>
<BR>
[<a href="#top" class="lnk_text">-> top</a>]
<BR>
<BR><a name="sub_1_bis"></a>
<BR>
<span class="title_paragraph">_ Data scaling </span>
<BR>
<BR>
<span class="style1">PAY ATTENTION</span>: data are always range scaled inbetween 0 and 1, in order to make them comparable with the net weights.
<BR>
<BR>
<BR>
[<a href="#top" class="lnk_text">-> top</a>]
<BR>
<BR> <a name="sub_2"></a>
<BR>
<span class="title_paragraph">_ How to prepeare the neural network settings</span>
<BR>
<BR>
Some settings must be defined in order to run both Kohonen Maps and CPANNs; in order to create a default setting structure, type on the MATLAB command window:
<BR>
<BR>
<div id="tab_duo_text" class="text_math">
settings = som_settings('kohonen')
</div>
<BR>
if you're going to use Kohonen maps, or
<BR>
<BR>
<div id="tab_duo_text" class="text_math">
settings = som_settings('cpann')
</div>
<BR>
for CPANNs. <BR>A default structure with the following fields will be built:
<BR><BR>
<B>settings.nsize</B><BR>
net size (default value is NaN). This is the number of neurons for each side of the map. Taking into consideration that the map is a square, if you enter:
<BR><BR>
<div id="tab_duo_text" class="text_math">
settings.nsize = 7;
</div><BR>
you'lle get a total number of neurons equal to 7*7 = 49.
<BR><BR>
<B>settings.epochs</B><BR>
number of epochs (default value is NaN). This defines the number of times the objects will be introduced in the net. For example, in order to train a net with 100 epochs, type:
<BR><BR>
<div id="tab_duo_text" class="text_math">
settings.epochs = 100;
</div>
<BR>
<span class="style1">PAY ATTENTION</span>: since both settings.nsize and settings.epochs have no default values, these settings must be always defined by the user before running a model. <BR>
<BR>
<B>settings.bound</B><BR>
boundary condition ('toroidal' or 'normal', defualt is 'toroidal'). Toroidal means that each edge of the map has to be seen as connected with the opposite one. <BR>
<BR>
<B>settings.a_max</B> and <B>settings.a_min</B><BR>
are the initial learning rate (defualt value equal to 0.5) and the final learning rate (defualt value equal to 0.01), as suggested by Zupan, Novic and Ruis醤chez in "Kohonen and counterpropagation artificial neural networks in analytical chemistry", Chemometrics and Intelligent Laboratory Systems (1997) 38 1-23.
<BR>
<BR>
<B>settings.ass_meth</B><BR>
only for CPANNs. This is the assignation method used to define which class each neuron belongs to.<BR>If settings.ass_meth = 1 (defualt value) each neuron is assigned to the class with the maximum output weight.
<BR>
If settings.ass_meth = 2, the neuron is assigned if the difference between the highest output weight and the second highest output weight is higher then a defined threshold (0.3). <BR>
If settings.ass_meth = 3, the neuron is assigned to the class with the maximum output weight, only if this is higher then a defined threshold (0.5). For example:
<BR>
<BR>
<table width="563" border="1" cellpadding="1" cellspacing="0" class="text">
<tr>
<td width="50"><div align="center">neuron</div></td>
<td width="86"><div align="center">weight class 1</div></td>
<td width="86"><div align="center">weight class 2 </div></td>
<td width="86"><div align="center">weight class 3 </div></td>
<td width="75"><div align="center">meth = 1 </div></td>
<td width="75"><div align="center">meth = 2 </div></td>
<td width="75"><div align="center">meth = 3 </div></td>
</tr>
<tr>
<td><div align="center">N1</div></td>
<td><div align="center">0.30</div></td>
<td><div align="center">0.40</div></td>
<td><div align="center">0.30</div></td>
<td><div align="center">class 2</div></td>
<td><div align="center">not assigned </div></td>
<td><div align="center">not assigned </div></td>
</tr>
<tr>
<td><div align="center">N2</div></td>
<td><div align="center">0.90</div></td>
<td><div align="center">0.10</div></td>
<td><div align="center">0.00</div></td>
<td><div align="center">class 1</div></td>
<td><div align="center">class 1 </div></td>
<td><div align="center">class 1 </div></td>
</tr>
<tr>
<td><div align="center">N3</div></td>
<td><div align="center">0.05</div></td>
<td><div align="center">0.40</div></td>
<td><div align="center">0.55</div></td>
<td><div align="center">class 3</div></td>
<td><div align="center">not assigned</div></td>
<td><div align="center">class 3 </div></td>
</tr>
<tr>
<td><div align="center">N4</div></td>
<td><div align="center">0.20</div></td>
<td><div align="center">0.25</div></td>
<td><div align="center">0.55</div></td>
<td><div align="center">class 3</div></td>
<td><div align="center">class 3 </div></td>
<td><div align="center">class 3 </div></td>
</tr>
</table>
<BR>
Note that the first method always assigns neurons to a class, while the other two methods can give not assigned neurons; in these cases, the class of samples placed in not-assigned neurons won't be recognized.<BR>
<BR>
[<a href="#top" class="lnk_text">-> top</a>]
<BR>
<BR>
<BR>
</div>
</div></td>
</tr>
</table>
</div>
<div id="footer">
<iframe src="footer.htm" width="700" height="13" scrolling="no" frameborder="0">
no i_frames allowed :: change browser
</iframe>
</div>
</div>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -