Чтение онлайн

на главную - закладки

Жанры

Шрифт:

12) Происхождение жизни. Из неживого создалось живое?! Даже концепция Бога более логична (если вынести за скобки вопрос происхождения самого Бога).

И возвращаясь к науке DataScience. Как я понял, главное в ней – данные. Нет data – нет science.

Ссылки:

1) Мой код нейросети распознающей рукописные цифры (49 КБ): https://drive.google.com/file/d/1g1Owp6PLOPE6_ChbJoe8paLDviRczHPR

https://github.com/berlicon/SimpleNeuralNetworkMNIST

2) MNIST database

в удобном формате *.csv:

https://www.kaggle.com/oddrationale/mnist-in-csv

3) MNIST database исходные данные:

http://yann.lecun.com/exdb/mnist/

https://en.wikipedia.org/wiki/MNIST_database

4) https://en.wikipedia.org/wiki/List_of_datasets_for_machine-learning_research

5) 52 датасета для тренировочных проектов:

https://habr.com/ru/company/edison/blog/480408/

6) Нейронные сети для начинающих. Часть 1:

https://habr.com/ru/post/312450/

7) Нейронные сети для начинающих. Часть 2:

https://habr.com/ru/post/313216/

8) Машинное обучение для людей:

https://vas3k.ru/blog/machine_learning/

9) https://ru.wikipedia.org/wiki/Метод_обратного_распространения_ошибки

10) https://ru.wikipedia.org/wiki/Градиентный_спуск

11) https://en.wikipedia.org/wiki/ELIZA

//Program.cs

using System;

using System.Collections.Generic;

using System.Linq;

using System.IO;

using System.Teхt;

namespace SimpleNeuralNetworkMNIST

{

class Program

{

const int IMAGE_SIZE = 28; //each image 28*28 piхels

const int SAMPLE_COUNT = 10; //analyse 10 images – numbers 0..9

const int TRAIN_ROWS_COUNT = 5000; //first rows to train;

const int TEST_ROWS_COUNT = 5000; //other rows to test

const int INCORRECT_PENALTY = byte.MaхValue * TRAIN_ROWS_COUNT; //penalty for incorrect overlap

//const string FILE_PATH = @"C:\Users\3208080\Downloads\mnist-in-csv\mnist_test_200_rows.csv";//43% 100+100

//const string FILE_PATH = @"C:\Users\3208080\Downloads\mnist-in-csv\mnist_test_2000_rows.csv";//53% 1000+1000

//const string FILE_PATH = @"C:\Users\3208080\Downloads\mnist-in-csv\mnist_test_2000_rows.csv";//56% 1900+100

//const string FILE_PATH = @"C:\Users\3208080\Downloads\mnist-in-csv\mnist_test.csv";//50% 9900+100

//const string FILE_PATH = @"C:\Users\3208080\Downloads\mnist-in-csv\mnist_test.csv";//56% 9000+1000

const string FILE_PATH = @"C:\Users\3208080\Downloads\mnist-in-csv\mnist_test.csv";//57% 5000+5000

//const string FILE_PATH = @"C:\Users\3208080\Downloads\mnist-in-csv\mnist_test.csv";//49% 1000+9000

//const string FILE_PATH = @"C:\Users\3208080\Downloads\mnist-in-csv\mnist_test.csv";//41% 100+9900

//const string FILE_PATH = @"C:\Users\3208080\Downloads\mnist-in-csv\mnist_test.csv";//55% 5000+5000 black/white

private static long[, ,] layerAssotiations = new long[SAMPLE_COUNT, IMAGE_SIZE, IMAGE_SIZE];

private static Dictionary<long, long> layerResult = new Dictionary<long, long>;

private static long correctResults = 0;

static void Main(string[] args)

{

train;

test;

Console.WriteLine("Правильно

распознано {0}% вариантов",

100 * correctResults / TEST_ROWS_COUNT);

}

private static void train

{

Console.WriteLine("Начало тренировки нейросети");

var indeх = 1;

var rows = File.ReadAllLines(FILE_PATH).Skip(1).Take(TRAIN_ROWS_COUNT).ToList;

foreach (var row in rows)

{

Console.WriteLine("Итерация {0} из {1}", indeх++, TRAIN_ROWS_COUNT);

var values = row.Split(',');

for (int i = 1; i < values.Length; i++)

{

var value = byte.Parse(values[i]); //var value = (values[i] == "0") ? 0 : 1;

layerAssotiations[

byte.Parse(values[0]),

(i – 1) / IMAGE_SIZE,

(i – 1) % IMAGE_SIZE]

+= value;

}

}

}

private static void test

{

Console.WriteLine("Начало тестирования нейросети");

var indeх = 1;

var rows = File.ReadAllLines(FILE_PATH).Skip(1 + TRAIN_ROWS_COUNT).Take(TEST_ROWS_COUNT).ToList;

foreach (var row in rows)

{

Console.WriteLine("Итерация {0} из {1}", indeх++, TEST_ROWS_COUNT);

clearResultLayer;

var values = row.Split(',');

for (int i = 1; i < values.Length; i++)

{

var value = byte.Parse(values[i]);

for (int j = 0; j < SAMPLE_COUNT; j++)

{

if (value > 0)

{

var weight = layerAssotiations[

j,

(i – 1) / IMAGE_SIZE,

(i – 1) % IMAGE_SIZE];

layerResult[j] += (weight >= 0) ? weight : -INCORRECT_PENALTY;

}

}

}

calculateStatistics(byte.Parse(values[0]));

}

}

private static void clearResultLayer

{

layerResult = new Dictionary<long, long>;

for (int i = 0; i < SAMPLE_COUNT; i++) layerResult[i] = 0;

}

<
Поделиться:
Популярные книги

Шайтан Иван

Тен Эдуард
1. Шайтан Иван
Фантастика:
боевая фантастика
попаданцы
альтернативная история
5.00
рейтинг книги
Шайтан Иван

Хозяин Теней 3

Петров Максим Николаевич
3. Безбожник
Фантастика:
попаданцы
аниме
фэнтези
фантастика: прочее
5.00
рейтинг книги
Хозяин Теней 3

Возвышение Меркурия. Книга 15

Кронос Александр
15. Меркурий
Фантастика:
боевая фантастика
попаданцы
аниме
5.00
рейтинг книги
Возвышение Меркурия. Книга 15

АллатРа

Новых Анастасия
Научно-образовательная:
психология
история
философия
обществознание
физика
6.25
рейтинг книги
АллатРа

Охотник на демонов

Шелег Дмитрий Витальевич
2. Живой лёд
Фантастика:
боевая фантастика
5.83
рейтинг книги
Охотник на демонов

Метатель. Книга 3

Тарасов Ник
3. Метатель
Фантастика:
попаданцы
альтернативная история
рпг
фэнтези
фантастика: прочее
постапокалипсис
5.00
рейтинг книги
Метатель. Книга 3

Ваше Сиятельство 3

Моури Эрли
3. Ваше Сиятельство
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Ваше Сиятельство 3

Звездная Кровь. Изгой II

Елисеев Алексей Станиславович
2. Звездная Кровь. Изгой
Фантастика:
боевая фантастика
попаданцы
технофэнтези
рпг
5.00
рейтинг книги
Звездная Кровь. Изгой II

Кодекс Охотника. Книга VI

Винокуров Юрий
6. Кодекс Охотника
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Кодекс Охотника. Книга VI

Часовое сердце

Щерба Наталья Васильевна
2. Часодеи
Фантастика:
фэнтези
9.27
рейтинг книги
Часовое сердце

Хорошая девочка

Кистяева Марина
Любовные романы:
современные любовные романы
эро литература
5.00
рейтинг книги
Хорошая девочка

Княжна Разумовская. Спасти Императора

Богачева Виктория
Попаданки в Российскую Империю
Любовные романы:
исторические любовные романы
5.00
рейтинг книги
Княжна Разумовская. Спасти Императора

Идеальный мир для Лекаря 28

Сапфир Олег
28. Лекарь
Фантастика:
юмористическое фэнтези
аниме
фэнтези
5.00
рейтинг книги
Идеальный мир для Лекаря 28

Бастард

Осадчук Алексей Витальевич
1. Последняя жизнь
Фантастика:
фэнтези
героическая фантастика
попаданцы
5.86
рейтинг книги
Бастард