Разработка методов и алгоритмов оценки надежности сетей телекоммуникации на основе нейронных сетей
Рассмотрение существующих методов для оценки надежности. Оценка надежности сети на основе нейронных сетей. Архитектура нейронной сети Кохонена. Реализация алгоритма и программы оценки надежности телекоммуникационных сетей с помощью нейронных сетей.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | диссертация |
Язык | русский |
Дата добавления | 24.05.2018 |
Размер файла | 2,6 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
3. Количество нейронов в нейронном слою надо подобрать оптимальным образом. Так как повышения количество нейронов замедляет работы ПО, а понижения увеличивает искажения. При повышении количество нейронов больше 5 на одно измерения ПО обучения производилось очень долго так как количество нейронов внутреннем слое достигало 390625 шт. Обучения производилась более 15 тыс. данными.
4. Классы было условно разделено на 5 (A, B, C, D, E). Но можно менять количество классов на большее количество или на меньшее.
ПО разработанной в ходе выполнения исследований было создано для исследования и проверки работоспособности алгоритма. Программа отражает принцип работы одной из видов нейронной сети Кохонена.
Применение этого метода уместно в тех случаях, когда Легко получить входные параметры для нейронной сети. Нейронную сеть лучше обучать из знаний экспертов для достоверной работоспособности сети. Обученный сеть может выдавать быстрые и точные результаты. При таких условиях результаты будут иметь достаточную достоверность оценки надёжности.
Оптимальным параметром является при 3х разделениях на измерения. При этом скорость работы и результативвность оптимальный.
Алгоритм можно усложнить и модифициоровать для получения более лучших результатов и ускорить обучение сети.
Тестирование качества обучения нейросети необходимо проводить на примерах, которые не участвовали в ее обучении. При этом число тестовых примеров должно быть тем больше, чем выше качество обучения. Если ошибки нейронной сети имеют вероятность близкую к одной миллиардной, то и для подтверждения этой вероятности нужен миллиард тестовых примеров. Получается, что тестирование хорошо обученных нейронных сетей становится очень трудной задачей.
Библиографический список
1. Закон Республики Узбекистан №560-II «Об информатизации» от 11.12.2003.
2. Постановление Президента Республики Узбекистан №ПП-1730 «О мерах по дальнейшему внедрению и развитию современных информационно-коммуникационных технологий» от 21.03.2012.
3. Постановление Президента Республики Узбекистан №ПП-1920 «О государственной программе «Год благополучия и процветания» от 14.02.2013.
4. Постановление Президента Республики Узбекистан №ПП-1957 «О дополнительных мерах по ускоренному развитию сферы услуг и сервиса в сельской местности в 2013 - 2016 годах» от 17.04.2013.
5. Каримов И.А. Последовательное продолжение курса на модернизацию страны - решающий фактор нашего развития / Доклад Президента Ислама Каримова на торжественном собрании, посвященном 18-летию Конституции Республики Узбекистан. Ташкент, 07.12.2010.
6. Каримов И.А. Наша главная задача - дальнейшее развитие страны и повышение благосостояния народа / Доклад Президента Республики Узбекистан Ислама Каримова на заседании Кабинета Министров, посвященном итогам социально-экономического развития страны в 2009 году и важнейшим приоритетам экономической программы на 2010 год. Ташкент, 29.01.2010.
7. Каримов И.А. Все наши устремления и программы - во имя дальнейшего развития родины и повышения благосостояния народа / Доклад Президента Республики Узбекистан Ислама Каримова на заседании правительства по итогам социально-экономического развития страны в 2010 году и важнейшим приоритетам на 2011 год. Ташкент, 21.01.2011.
8. Каримов И.А. 2012 год станет годом поднятия на новый уровень развития нашей родины / Доклад Президента Республики Узбекистан Ислама Каримова на заседании Кабинета Министров, посвященном основным итогам 2011 года и приоритетам социально-экономического развития на 2012 год. Ташкент, 19.01.2012.
9. Круг П. Г. «Нейронные сети и нейрокомпьютеры» Москва Издательство МЭИ 2002 г.
10. . Сергей Кабыш статья «Надежность - прежде всего» · СЕТИ И ТЕЛЕКОММУНИКАЦИИ 2004 г.
11. А. А. Зацаринный, А.И. Гаранин, С. В. Козлов. статья «Некоторые Методические Подходы к Оценке Надежности Элементов Информационно-Телекоммуникационных Сетей» Системы и средства информатики 2011 г.
12. Конспект лекций для бакалавров направлений образования «Телекоммуникационные сети и системы» ТУИТ 2004г.
13. M.O. Ball, C.J. Colbourn, J.S. Provan “Network Reliability” Авторизованный перевод Семенова Ю.А. и Гончарова А.А. (ИТЭФ/ЦНТК) 2004 г.
14. Нейман Дж. Теория самовоспроизводящихся автоматов. Дж. Нейман. М.: Мир, 1971.
15. Wolfram S. A New Kind of Science. Wolfram Media. Inc., 2002.
16. Колесников С. Распознавание образов. Общие сведения /Газета"Компьютер-Информ". Программное обеспечение. http://www.ci.ru/.
17. Хайкин С. Нейронные сети: полный курс. М.: Вильямс, 2006.
18. Терехов С. А. Лекции по теории и приложениям искусственных нейронных сетей. Лаборатотория Искусственных Нейронных Сетей НТО-2. Снежинск. ВНИИТФ.
19. Smith R.A. Real-Time Language Recognition by One-Dimensional Cellular Automata // J. of Computer and System Sciences, v. 6 (1972), pp. 233-253.
20. Buchholz T., Klein A., Kutrib M. Real-Time Language Recognition by Alternating Cellular Automata /IFIG Research Report 9904. 1999. March.
21. Тоффоли Т., Марголус Н. Машины клеточных автоматов. М.: Мир, 1991.
22. Астафьев Г.Б., Короновский А.А., Храмов А.Е.. Клеточные автоматы. Саратов: Колледж. 2003. http://cas.ssu.runnet.ru/sgnp/data/papers/Train/CellAutomat.pdf.
23. Ulam S. Random Processes and Transformations / Procedings Int. Congr. Mathem. 1952. №2, pp. 264-275.
24. Shackleford B., Tanaka M., Carter R., Snider G. Cellular and Cryptographic Applications: FPGA implementation of neighborhood-of-four cellular automata random number generators. ACM Press. 2002.
25. Wolfram S. Cellular automation Fluids // J. Stat. Phys. 1986. Vol. 45, PP. 471-526.
26. Frish U. еt al. Lattice gas hydrodynamics in two and three dimensions // Complex Systems. 1987. Vol. 1, PP. 649-707.
27. Chopard B., Droz M. Cellular automata model for heat conduction in a fluid // Physics Letters A. 1988. Vol. 126. N 8/9, PP. 476-480.
28. Наумов Л.А. Разработка среды и библиотеки CAME&L для решения задач с использованием клеточных автоматов. СПбГУ ИТМО, 2003. http://is.ifmo.ru/papers/camel/.
29. Gardner M. The Fantastic Combinations of John Conway's New Solitaire Game “Life”// Scientific American. 1970. №223, pp. 120-123.
30. Хопкрофт Д., Мотвани Р., Ульман Д. Введение в теорию автоматов, языков и вычислений. М.: Вильямс. 2002.
31. Малинин В.В. Распознавание образов на ЭВМ. ЦИТ СГГА, 2005.
32. Orovas C. Cellular Associative Neural Networks for Pattern Recognition. University of York, 1999.
33. http://uzdtv.uz (UZDIGITAL TV).
34. http://press-service.uz (Пресс-служба Президента Республики.
35. http://book.itep.ru/ (Telecommunication technologies book).
36. http://www.ict.edu.ru/ (Портал "Информационно-коммуникационные технологии в образовании").
37. http://habrahabr.ru/ (электронный журнал «Хабрахабр»).
38. http://www.basegroup.ru/ (BaseGroup Labs).
39. http://inter-vuz.tuit.uz/Elib_baza//INTUIT.ru/ (INTUIT).
40. http://library.tuit.uz/( Электронная библиотека ТУИТ).
41. http://www.lessons-tva.info/ (сайт дистанционного обучения).
42. http://k504.org/ (ХАИ, Кафедра 504 "Приема, передачи и обработки сигналов").
Приложение
Листинг класса Neuron.
package neuro;
public class Neuron {
public String clName = "";
private int count = 0;
public double[] weights = new double[8];
public void addPoint(double[] point){
for(int i=0; i<8;i++)
{
weights[i]=(point[i]+count*weights[i])/(count+1);
}
count++;
}
public void setNeuron(double[] point){
for(int i=0;i<8;i++)weights[i] = point[i];
}
public void setClName(String cl){
clName = cl;
}
public double test(double[] point)
{
double near = 0;
for(int i=0; i<8;i++)
{
near+= (weights[i]-point[i])*(weights[i]-point[i]);
}
return Math.sqrt(near);
}
}
Листинг класса Layer.
package neuro;
import neuro.Neuron;
import java.sql.*;
import java.util.ArrayList;
public class Layer {
public Neuron[] layer;
public int searchWithName(double[] point, String clName)
{
int ind = 0;
double min = 3;
for(int i=0;i<layer.length;i++)
{
if(layer[i].clName.equals(clName)||layer[i].clName.equals("")){
double near = layer[i].test(point);
if(near<min)
{
ind = i;
min = near;
}}
}
return ind;
}
public int search(double[] point)
{
int ind = 0;
double min = 8;
for(int i=0;i<layer.length;i++)
{
if(!layer[i].clName.equals("")){
double near = layer[i].test(point);
if(near<min)
{
ind = i;
min = near;
}
}
}
return ind;
}
public void study()
{
Connection con = null;
int po = 0;
String url = "jdbc:mysql://localhost:3306/neuron?user=root&password=1";
//String url = "jdbc:mysql://localhost:1527/neuro?user=root&password=123";
try {
con = DriverManager.getConnection(url);
//Class.forName("org.apache.derby.jdbc.ClientDriver").newInstance();
Class.forName("com.mysql.jdbc.Driver").newInstance();
System.out.println("Got connection");
} catch (Exception e) {
System.out.println(e);
}
try {
Statement select1 = con.createStatement();
String ss1 = "select * from study;";
ResultSet result1 = select1.executeQuery(ss1);
while (result1.next()) {
po++;
double[] p = new double[8];
p[0] = Double.parseDouble(result1.getString(2));
p[1] = Double.parseDouble(result1.getString(3));
p[2] = Double.parseDouble(result1.getString(4));
p[3] = Double.parseDouble(result1.getString(5));
p[4] = Double.parseDouble(result1.getString(6));
p[5] = Double.parseDouble(result1.getString(7));
p[6] = Double.parseDouble(result1.getString(8));
p[7] = Double.parseDouble(result1.getString(9));
String clName = result1.getString(10);
int neuronIndex = searchWithName(p, clName);
//System.out.println(layer[neuronIndex].clName+" / "+clName);
layer[neuronIndex].addPoint(p);
layer[neuronIndex].setClName(clName);
}
} catch (SQLException ex) {
ex.printStackTrace();
}
System.out.println(po);
}
public ArrayList<String> test()
{
int yes = 0;
int no = 0;
Connection con = null;
ArrayList<String> ar=new ArrayList<String>();
String url = "jdbc:mysql://localhost:3306/neuron?user=root&password=1";
//String url = "jdbc:mysql://localhost:1527/neuro?user=root&password=123";
try {
con = DriverManager.getConnection(url);
Class.forName("com.mysql.jdbc.Driver").newInstance();
System.out.println("Got connection");
} catch (Exception e) {
System.out.println(e);
}
try {
Statement select1 = con.createStatement();
String ss1 = "select * from test;";
ResultSet result1 = select1.executeQuery(ss1);
while (result1.next()) {
double[] p = new double[8];
p[0] = Double.parseDouble(result1.getString(2));
p[1] = Double.parseDouble(result1.getString(3));
p[2] = Double.parseDouble(result1.getString(4));
p[3] = Double.parseDouble(result1.getString(5));
p[4] = Double.parseDouble(result1.getString(6));
p[5] = Double.parseDouble(result1.getString(7));
p[6] = Double.parseDouble(result1.getString(8));
p[7] = Double.parseDouble(result1.getString(9));
String clName = result1.getString(10);
//System.out.println(p[0]+" / "+p[1]+" / "+p[2]+" / "+p[3]+" / "+p[4]+" / "+p[5]+" / "+p[6]+" / "+p[7]);
int neuronIndex = search(p);
//System.out.println(layer[neuronIndex].clName+" / "+clName);
if(layer[neuronIndex].clName.equals(clName))
{
ar.add("YES");
yes++;
} else{
ar.add("NO");
no++;
}
}
} catch (SQLException ex) {
ex.printStackTrace();
}
System.out.println("YES "+yes+" NO "+no);
return ar;
}
public void setLayer(int points)
{
int ind = (Integer)Math.round((float) Math.pow(points, 8));
layer = new Neuron[ind];
//System.out.println(ind);
//layer[0].tes();
for(int i=0;i<ind;i++) {layer[i] = new Neuron();}
int index =0;
double[] w = new double[8];
for(int i=0; i<points;i++)
{
w[0] = (i+0.5)/points;
for(int j=0; j<points;j++)
{
w[1] = (j+0.5)/points;
for(int k=0; k<points;k++)
{
w[2] = (k+0.5)/points;
for(int l=0; l<points;l++)
{
w[3] = (l+0.5)/points;
for(int m=0; m<points;m++)
{
w[4] = (m+0.5)/points;
for(int n=0; n<points;n++)
{
w[5] = (n+0.5)/points;
for(int o=0; o<points;o++)
{
w[6] = (o+0.5)/points;
for(int p=0; p<points;p++)
{
w[7] = (p+0.5)/points;
layer[index].setNeuron(w);
index++;
}
}
}
}
}
}
}
}
}
public void look()
{
for(int i = 0; i<layer.length; i++){
double[] d = layer[i].weights;
System.out.println(layer[i].clName+" / "+d[0]+" / "+d[1]+" / "+d[2]+" / "+d[3]+" / "+d[4]+" / "+d[5]+" / "+d[6]+" / "+d[7]);}
}
public void ins()
{
Connection con = null;
String url = "jdbc:mysql://localhost:3306/neuron?user=root&password=1";
try {
con = DriverManager.getConnection(url);System.out.println(1);
Class.forName("com.mysql.jdbc.Driver").newInstance();
System.out.println("Got connection");
} catch (Exception e) {
System.out.println(e);
}
for(int j=586; j<100000; j++){
try {
double delta = 0;
String clName = "";
double[] p = new double[8];
for(int i=0; i<8; i++)
{
p[i] = (4+Math.random())/5;
delta+=Math.pow(p[i], 2);
}
delta = Math.sqrt(delta);
if(delta<Math.sqrt(8)/5) clName = "E";
else if(delta<2*Math.sqrt(8)/5) clName = "D";
else if(delta<3*Math.sqrt(8)/5) clName = "C";
else if(delta<4*Math.sqrt(8)/5) clName = "B";
else if(delta<Math.sqrt(8)) clName = "A";
String ss1 = "insert into test (id, par1, par2, par3, par4, par5, par6, par7, par8, class) " +
"value("+j+","+p[0]+","+ p[1]+","+p[2]+","+p[3]+","+p[4]+","+p[5]+","+p[6]+","+p[7]+",'"+clName+"');";
System.out.println(ss1);
PreparedStatement preparedStmt = con.prepareStatement(ss1);
preparedStmt.execute();
} catch (SQLException ex) {
ex.printStackTrace();
}
}
}
}
Листинг выполняющего класса Neuro.
package neuro;
import neuro.Layer;
import java.util.ArrayList;
import java.util.Iterator;
public class Neuro {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
System.out.println("BEGGIN");
Layer layer = new Layer();
// layer.ins();
layer.setLayer(4);
System.out.println("4^8="+Math.pow(4, 8));
ArrayList<String> ar=new ArrayList<String>();
layer.study();
ar = layer.test();
//layer.look();
for (Iterator iterator = ar.iterator(); iterator.hasNext();)
{
System.out.println((String) iterator.next());
}
double[] p = new double[8];
p[0] = 0;
p[1] = 0;
p[2] = 0;
p[3] = 0;
p[4] = 0;
p[5] = 0;
p[6] = 0;
p[7] = 0;
System.err.println("CLASS: "+layer.layer[layer.search(p)].clName);
}
}
Размещено на Allbest.ru
...Подобные документы
Нейронные сети как средство анализа процесса продаж мобильных телефонов. Автоматизированные решения на основе технологии нейронных сетей. Разработка программы прогнозирования оптово-розничных продаж мобильных телефонов на основе нейронных сетей.
дипломная работа [4,6 M], добавлен 22.09.2011Простейшая сеть, состоящая из группы нейронов, образующих слой. Свойства нейрокомпьютеров (компьютеров на основе нейронных сетей), привлекательных с точки зрения их практического использования. Модели нейронных сетей. Персептрон и сеть Кохонена.
реферат [162,9 K], добавлен 30.09.2013Способы применения технологий нейронных сетей в системах обнаружения вторжений. Экспертные системы обнаружения сетевых атак. Искусственные сети, генетические алгоритмы. Преимущества и недостатки систем обнаружения вторжений на основе нейронных сетей.
контрольная работа [135,5 K], добавлен 30.11.2015Общие сведения о принципах построения нейронных сетей. Искусственные нейронные системы. Математическая модель нейрона. Классификация нейронных сетей. Правила обучения Хэбба, Розенблатта и Видроу-Хоффа. Алгоритм обратного распространения ошибки.
дипломная работа [814,6 K], добавлен 29.09.2014Понятие искусственного нейрона и искусственных нейронных сетей. Сущность процесса обучения нейронной сети и аппроксимации функции. Смысл алгоритма обучения с учителем. Построение и обучение нейронной сети для аппроксимации функции в среде Matlab.
лабораторная работа [1,1 M], добавлен 05.10.2010Возможности программ моделирования нейронных сетей. Виды нейросетей: персептроны, сети Кохонена, сети радиальных базисных функций. Генетический алгоритм, его применение для оптимизации нейросетей. Система моделирования нейронных сетей Trajan 2.0.
дипломная работа [2,3 M], добавлен 13.10.2015Анализ применения нейронных сетей для прогнозирования ситуации и принятия решений на фондовом рынке с помощью программного пакета моделирования нейронных сетей Trajan 3.0. Преобразование первичных данных, таблиц. Эргономическая оценка программы.
дипломная работа [3,8 M], добавлен 27.06.2011Применение нейрокомпьютеров на российском финансовом рынке. Прогнозирование временных рядов на основе нейросетевых методов обработки. Определение курсов облигаций и акций предприятий. Применение нейронных сетей к задачам анализа биржевой деятельности.
курсовая работа [527,2 K], добавлен 28.05.2009Изучение методов разработки систем управления на основе аппарата нечеткой логики и нейронных сетей. Емкость с двумя клапанами с целью установки заданного уровня жидкости и построение нескольких типов регуляторов. Проведение сравнительного анализа.
курсовая работа [322,5 K], добавлен 14.03.2009Понятие и свойства искусственных нейронных сетей, их функциональное сходство с человеческим мозгом, принцип их работы, области использования. Экспертная система и надежность нейронных сетей. Модель искусственного нейрона с активационной функцией.
реферат [158,2 K], добавлен 16.03.2011Особенности нейронных сетей как параллельных вычислительных структур, ассоциируемых с работой человеческого мозга. История искусственных нейронных сетей как универсального инструмента для решения широкого класса задач. Программное обеспечение их работы.
презентация [582,1 K], добавлен 25.06.2013Описание технологического процесса напуска бумаги. Конструкция бумагоделательной машины. Обоснование применения нейронных сетей в управлении формованием бумажного полотна. Математическая модель нейрона. Моделирование двух структур нейронных сетей.
курсовая работа [1,5 M], добавлен 15.10.2012Рост активности в области теории и технической реализации искусственных нейронных сетей. Основные архитектуры нейронных сетей, их общие и функциональные свойства и наиболее распространенные алгоритмы обучения. Решение проблемы мертвых нейронов.
реферат [347,6 K], добавлен 17.12.2011Искусственные нейронные сети как одна из широко известных и используемых моделей машинного обучения. Знакомство с особенностями разработки системы распознавания изображений на основе аппарата искусственных нейронных сетей. Анализ типов машинного обучения.
дипломная работа [1,8 M], добавлен 08.02.2017Способы применения нейронных сетей для решения различных математических и логических задач. Принципы архитектуры их построения и цели работы программных комплексов. Основные достоинства и недостатки каждой из них. Пример рекуррентной сети Элмана.
курсовая работа [377,4 K], добавлен 26.02.2015Модели нейронных сетей и их реализации. Последовательный и параллельный методы резолюции как средства логического вывода. Зависимость между логическим следованием и логическим выводом. Применение технологии CUDA и реализация параллельного алгоритма.
дипломная работа [1,5 M], добавлен 22.09.2016Сущность, структура, алгоритм функционирования самообучающихся карт. Начальная инициализация и обучение карты. Сущность и задачи кластеризации. Создание нейронной сети со слоем Кохонена при помощи встроенной в среды Matlab. Отличия сети Кохонена от SOM.
лабораторная работа [36,1 K], добавлен 05.10.2010Построение векторной модели нейронной сети. Проектирование и разработка поискового механизма, реализующего поиск в полнотекстовой базе данных средствами нейронных сетей Кохонена с применением модифицированного алгоритма расширяющегося нейронного газа.
курсовая работа [949,0 K], добавлен 18.07.2014Диагностический анализ изучения алгоритмов обучения нейронных сетей "с учителем". Сбор входных и выходных переменных для наблюдений и понятие пре/пост процессирования. Подготовка и обобщение многослойного персептрона, модель обратного распространения.
курсовая работа [249,3 K], добавлен 22.06.2011Технологии решения задач с использованием нейронных сетей в пакетах расширения Neural Networks Toolbox и Simulink. Создание этого вида сети, анализ сценария формирования и степени достоверности результатов вычислений на тестовом массиве входных векторов.
лабораторная работа [352,2 K], добавлен 20.05.2013