js案例代碼70行(js經典編程100題)

本文目錄一覽:

JS隱藏號碼中間4位代碼實例

本文實例為大家分享了JS隱藏號碼中間4位的具體代碼,供大家參考,具體內容如下

function

resetPhone(phone)

{

var

str

=

String(phone)

var

len

=

str.length;

var

prev,next;

if

(len

=

7)

{

prev

=

str.slice(-len,-7)

next

=

str.slice(-3)

str

=

prev+”****”+next

}

else

if

(len

7

len

=

6)

{

prev

=

str.slice(-len,-4)

next

=

str.slice(-2)

str

=

prev

+

“**”

+

next

}

console.log(str)

return

str

}

上面可以正常使用,正則更加方便,但是如果中間連續重複數字有點小問題(如下面的正則方式)。

function

resetPhone(phone)

{

var

str

=

String(phone)

var

len

=

str.length;

if

(len

=

7)

{

var

reg

=

str.slice(-7,

-3)

return

str.replace(reg,

“****”)

}

else

if

(len

7

len

=

6)

{

//1234567

var

reg

=

str.slice(-4,

-2)

return

str.replace(reg,

“**”)

}

}

以上所述是小編給大家介紹的JS隱藏號碼中間4位詳解整合,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!

您可能感興趣的文章:JS中實現隱藏部分姓名或者電話號碼的代碼JS中input表單隱藏域及其使用方法JS實現「隱藏與顯示」功能(多種方法)javascript點擊按鈕實現隱藏顯示切換效果AngularJS實現元素顯示和隱藏的幾個案例JS實現滑鼠點擊展開或隱藏表格行的方法jquery和js實現對div的隱藏和顯示方法js設置控制項的隱藏與顯示的兩種方法js判斷元素是否隱藏的方法javascript獲取隱藏元素(display:none)的高度和寬度的方法

如何用70行Java代碼實現神經網路演算法

如何用70行Java代碼實現神經網路演算法

import java.util.Random;

public class BpDeep{

public double[][] layer;//神經網路各層節點

public double[][] layerErr;//神經網路各節點誤差

public double[][][] layer_weight;//各層節點權重

public double[][][] layer_weight_delta;//各層節點權重動量

public double mobp;//動量係數

public double rate;//學習係數

public BpDeep(int[] layernum, double rate, double mobp){

this.mobp = mobp;

this.rate = rate;

layer = new double[layernum.length][];

layerErr = new double[layernum.length][];

layer_weight = new double[layernum.length][][];

layer_weight_delta = new double[layernum.length][][];

Random random = new Random();

for(int l=0;llayernum.length;l++){

layer[l]=new double[layernum[l]];

layerErr[l]=new double[layernum[l]];

if(l+1layernum.length){

layer_weight[l]=new double[layernum[l]+1][layernum[l+1]];

layer_weight_delta[l]=new double[layernum[l]+1][layernum[l+1]];

for(int j=0;jlayernum[l]+1;j++)

for(int i=0;ilayernum[l+1];i++)

layer_weight[l][j][i]=random.nextDouble();//隨機初始化權重

}

}

}

//逐層向前計算輸出

public double[] computeOut(double[] in){

for(int l=1;llayer.length;l++){

for(int j=0;jlayer[l].length;j++){

double z=layer_weight[l-1][layer[l-1].length][j];

for(int i=0;ilayer[l-1].length;i++){

layer[l-1][i]=l==1?in[i]:layer[l-1][i];

z+=layer_weight[l-1][i][j]*layer[l-1][i];

}

layer[l][j]=1/(1+Math.exp(-z));

}

}

return layer[layer.length-1];

}

//逐層反向計算誤差並修改權重

public void updateWeight(double[] tar){

int l=layer.length-1;

for(int j=0;jlayerErr[l].length;j++)

layerErr[l][j]=layer[l][j]*(1-layer[l][j])*(tar[j]-layer[l][j]);

while(l–0){

for(int j=0;jlayerErr[l].length;j++){

double z = 0.0;

for(int i=0;ilayerErr[l+1].length;i++){

z=z+l0?layerErr[l+1][i]*layer_weight[l][j][i]:0;

layer_weight_delta[l][j][i]= mobp*layer_weight_delta[l][j][i]+rate*layerErr[l+1][i]*layer[l][j];//隱含層動量調整

layer_weight[l][j][i]+=layer_weight_delta[l][j][i];//隱含層權重調整

if(j==layerErr[l].length-1){

layer_weight_delta[l][j+1][i]= mobp*layer_weight_delta[l][j+1][i]+rate*layerErr[l+1][i];//截距動量調整

layer_weight[l][j+1][i]+=layer_weight_delta[l][j+1][i];//截距權重調整

}

}

layerErr[l][j]=z*layer[l][j]*(1-layer[l][j]);//記錄誤差

}

}

}

public void train(double[] in, double[] tar){

double[] out = computeOut(in);

updateWeight(tar);

}

}

如何用70行Java代碼實現深度神經網路演算法

參考下面代碼:

import java.util.Random;

public class BpDeep{

public double[][] layer;//神經網路各層節點

public double[][] layerErr;//神經網路各節點誤差

public double[][][] layer_weight;//各層節點權重

public double[][][] layer_weight_delta;//各層節點權重動量

public double mobp;//動量係數

public double rate;//學習係數

public BpDeep(int[] layernum, double rate, double mobp){

this.mobp = mobp;

this.rate = rate;

layer = new double[layernum.length][];

layerErr = new double[layernum.length][];

layer_weight = new double[layernum.length][][];

layer_weight_delta = new double[layernum.length][][];

Random random = new Random();

for(int l=0;llayernum.length;l++){

layer[l]=new double[layernum[l]];

layerErr[l]=new double[layernum[l]];

if(l+1layernum.length){

layer_weight[l]=new double[layernum[l]+1][layernum[l+1]];

layer_weight_delta[l]=new double[layernum[l]+1][layernum[l+1]];

for(int j=0;jlayernum[l]+1;j++)

for(int i=0;ilayernum[l+1];i++)

layer_weight[l][j][i]=random.nextDouble();//隨機初始化權重

}

}

}

//逐層向前計算輸出

public double[] computeOut(double[] in){

for(int l=1;llayer.length;l++){

for(int j=0;jlayer[l].length;j++){

double z=layer_weight[l-1][layer[l-1].length][j];

for(int i=0;ilayer[l-1].length;i++){

layer[l-1][i]=l==1?in[i]:layer[l-1][i];

z+=layer_weight[l-1][i][j]*layer[l-1][i];

}

layer[l][j]=1/(1+Math.exp(-z));

}

}

return layer[layer.length-1];

}

//逐層反向計算誤差並修改權重

public void updateWeight(double[] tar){

int l=layer.length-1;

for(int j=0;jlayerErr[l].length;j++)

layerErr[l][j]=layer[l][j]*(1-layer[l][j])*(tar[j]-layer[l][j]);

while(l–0){

for(int j=0;jlayerErr[l].length;j++){

double z = 0.0;

for(int i=0;ilayerErr[l+1].length;i++){

z=z+l0?layerErr[l+1][i]*layer_weight[l][j][i]:0;

layer_weight_delta[l][j][i]= mobp*layer_weight_delta[l][j][i]+rate*layerErr[l+1][i]*layer[l][j];//隱含層動量調整

layer_weight[l][j][i]+=layer_weight_delta[l][j][i];//隱含層權重調整

if(j==layerErr[l].length-1){

layer_weight_delta[l][j+1][i]= mobp*layer_weight_delta[l][j+1][i]+rate*layerErr[l+1][i];//截距動量調整

layer_weight[l][j+1][i]+=layer_weight_delta[l][j+1][i];//截距權重調整

}

}

layerErr[l][j]=z*layer[l][j]*(1-layer[l][j]);//記錄誤差

}

}

}

public void train(double[] in, double[] tar){

double[] out = computeOut(in);

updateWeight(tar);

}

}

原創文章,作者:JILX,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/139800.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
JILX的頭像JILX
上一篇 2024-10-04 00:22
下一篇 2024-10-04 00:22

相關推薦

  • JS Proxy(array)用法介紹

    JS Proxy(array)可以說是ES6中非常重要的一個特性,它可以代理一個數組,監聽數據變化並進行攔截、處理。在實際開發中,使用Proxy(array)可以方便地實現數據的監…

    編程 2025-04-29
  • Python周杰倫代碼用法介紹

    本文將從多個方面對Python周杰倫代碼進行詳細的闡述。 一、代碼介紹 from urllib.request import urlopen from bs4 import Bea…

    編程 2025-04-29
  • Python字元串寬度不限制怎麼打代碼

    本文將為大家詳細介紹Python字元串寬度不限制時如何打代碼的幾個方面。 一、保持代碼風格的統一 在Python字元串寬度不限制的情況下,我們可以寫出很長很長的一行代碼。但是,為了…

    編程 2025-04-29
  • Python數據統計案例的實現

    Python作為一個高級編程語言,擁有著豐富的數據處理庫和工具,能夠快速、高效地進行各類數據處理和分析。本文將結合實例,從多個方面詳細闡述Python數據統計的實現。 一、數據讀取…

    編程 2025-04-29
  • Python基礎代碼用法介紹

    本文將從多個方面對Python基礎代碼進行解析和詳細闡述,力求讓讀者深刻理解Python基礎代碼。通過本文的學習,相信大家對Python的學習和應用會更加輕鬆和高效。 一、變數和數…

    編程 2025-04-29
  • Python滿天星代碼:讓編程變得更加簡單

    本文將從多個方面詳細闡述Python滿天星代碼,為大家介紹它的優點以及如何在編程中使用。無論是剛剛接觸編程還是資深程序員,都能從中獲得一定的收穫。 一、簡介 Python滿天星代碼…

    編程 2025-04-29
  • 倉庫管理系統代碼設計Python

    這篇文章將詳細探討如何設計一個基於Python的倉庫管理系統。 一、基本需求 在著手設計之前,我們首先需要確定倉庫管理系統的基本需求。 我們可以將需求分為以下幾個方面: 1、庫存管…

    編程 2025-04-29
  • 寫代碼新手教程

    本文將從語言選擇、學習方法、編碼規範以及常見問題解答等多個方面,為編程新手提供實用、簡明的教程。 一、語言選擇 作為編程新手,選擇一門編程語言是很關鍵的一步。以下是幾個有代表性的編…

    編程 2025-04-29
  • Python實現簡易心形代碼

    在這個文章中,我們將會介紹如何用Python語言編寫一個非常簡單的代碼來生成一個心形圖案。我們將會從安裝Python開始介紹,逐步深入了解如何實現這一任務。 一、安裝Python …

    編程 2025-04-29
  • 怎麼寫不影響Python運行的長段代碼

    在Python編程的過程中,我們不可避免地需要編寫一些長段代碼,包括函數、類、複雜的控制語句等等。在編寫這些代碼時,我們需要考慮代碼可讀性、易用性以及對Python運行性能的影響。…

    編程 2025-04-29

發表回復

登錄後才能評論