10) Корпускулярно-волновой дуализм. Вот это совершенно наркоманская вещь! Свет одновременно набор частиц и волна. При передаче энергии это частицы, а при прохождении через дифракционную решетку (расческу) уже волна. Даже один неделимый (!) фотон, прошедший через решетку с 2мя отверстиями типа расщепляется (!!!) и оставляет след за каждой из щелей, т.е. становится волной.


11) Большой взрыв. Ага, прям из точки с нулевым радиусом и бесконечной массой все бабахнуло и разлетается в бесконечной вселенной.


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 layerResult = new Dictionary();

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("Начало тренировки нейросети");