日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 人工智能 > 循环神经网络 >内容正文

循环神经网络

用java实现matlab的随机函数randsrc(m,n,[alphabet; prob])

發(fā)布時(shí)間:2023/12/8 循环神经网络 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 用java实现matlab的随机函数randsrc(m,n,[alphabet; prob]) 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

在機(jī)器學(xué)習(xí)中,matlab作為一個(gè)比較強(qiáng)大的工具,它的語(yǔ)言對(duì)矩陣運(yùn)算支持比較完善。

而生成隨機(jī)數(shù)的randsrc(m,n,[alphabet; prob])方法可以對(duì)矩陣生成指定選擇集合并且指定集合元素概率的隨機(jī)數(shù)矩陣。

而我在使用java實(shí)現(xiàn)一些機(jī)器學(xué)習(xí)算法的時(shí)候需要生成類似隨機(jī)數(shù)矩陣沒(méi)有matlab提供的方法,只能自己實(shí)現(xiàn)了。

我們看看randsrc(m,n,[alphabet; prob])的定義如下:

out =?randsrc(m,n,[alphabet; prob])?generates an?m-by-n?matrix, each of whose entries is independently chosen from the entries in the row vector?alphabet. Duplicate values in?alphabetare ignored. The row vector?prob?lists corresponding probabilities, so that the symbol?alphabet(k)?occurs with probability?prob(k), where?k?is any integer between one and the number of columns of?alphabet. The elements of?prob?must add up to 1.

這個(gè)函數(shù)返回的是一個(gè)m*n的矩陣,其中,每個(gè)元素是從alphabet數(shù)組里面選取,最后元素alphabet[i]出現(xiàn)在矩陣中的概率符合概率prob[i]。

我們用java實(shí)現(xiàn)如下:

private static DenseMatrix64F randsrc(int m,int n,double[] alphabet,double[] prob) {DenseMatrix64F rs = new DenseMatrix64F(m,n);List<Double> items = new LinkedList<Double>();Random r=new Random();int allnum = m * n;int rest = allnum;for(int i=0;i<alphabet.length;i++) {if(i != alphabet.length-1) {int alpNum = (int)(allnum*prob[i]);rest -= alpNum;for(int j=0;j<alpNum;j++)items.add(alphabet[i]);}else {for(int j=0;j<rest;j++)items.add(alphabet[i]);}}for(int i=0;i<m;i++) {for(int j=0;j<n;j++) { rs.set(i, j, items.remove(r.nextInt(items.size())));}}return rs;}

我們測(cè)試如下:

double[] a1= new double[]{1,2,3};double[] a2= new double[]{0.6,0.3,0.1};DenseMatrix64F test = randsrc(5,2,a1,a2);System.out.println(test);

結(jié)果如下:

符合指定概率分布

總結(jié)

以上是生活随笔為你收集整理的用java实现matlab的随机函数randsrc(m,n,[alphabet; prob])的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。