Поскольку у вас есть java 8, другое решение - использовать Stream API.
new Random().ints(1, 500).limit(500).forEach(p -> System.out.println(list[p]));
Где 1
- самый низкий int сгенерированный (включительно), а 500
- самый высокий (эксклюзивный). limit
означает, что ваш поток будет иметь длину 500.
int[] list = new int[] {1,2,3,4,5,6};
new Random().ints(0, list.length).limit(10).forEach(p -> System.out.println(list[p]));
Случайный из пакета java.util
.
Вы входите в обширную и спорную область не только вычислений, но и философию. Значительные испытания и выбор модели являются предметами интенсивных разногласий между байесами и частотвыми. Комментарий Triston о разделении данных, установленного на наборах обучения и проверки, не будет радовать байеса.
Могу ли я предложить, что RMSE не является соответствующим баллом для вероятностей. Если образцы независимы, правильный балл представляет собой Сумма логарифмов вероятностей, присваиваемых фактическим результатам . (Если они не независимы, у вас есть беспорядок в руках.) То, что я описываю, это забивает «модуль» модели. Правильное моделирование байесов требует интеграции на параметры модели, которая является вычислительно очень сложной. Байесианский способ регулировать модуль плагина - добавить штраф на счет для маловероятных (больших) параметров модели. Это называется «распад веса».
Я начал начал на своем пути чтения открытия нейронных сетей для распознавания шаблонов Кристофер епископ. Я использовал его и и практическую оптимизацию GILL, et al , чтобы написать программное обеспечение, которое очень хорошо работало для меня.
-121--4213472-idx=(mask==0)
image[idx]=chex[idx]
Обратите внимание, что изображение
имеет форму (800 600,3), а IDX
имеет форму (800 600). Правила для состояния индексации
Если кортель выбора меньше N, то столько: объекты по мере необходимости добавляются в конец отбора кортеж, так что модифицированный выбор Tupple имеет длину N.
Таким образом, индексационные массивы имеют своего рода собственную способность вещания. Форма IDX
получает способность (800 600,:)
Попробуйте:
image[mask[:] == 0,...] = chex[mask[:] == 0,...]
Я использовал массивы 8x6x3, 8x6x3 и 8x6, чтобы представлять свой массив изображения, массив для проверки и массив маски соответственно.
# first create mini-versions of your arrays:
mask = NP.random.random_integers(0, 1, 48).reshape(8, 6)
img = NP.random.random_integers(3, 9, 8*6*3).reshape(8, 6, 3)
chk = NP.ones((8, 6, 3))
# all the work done in these two lines
mask = mask[:,:,NP.newaxis]
res = NP.where(mask==0, chk, img)