亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? mexicanhatfunction.cs

?? A Java Neural Network Library
?? CS
字號:
?/***********************************************************************************************
 COPYRIGHT 2008 Vijeth D

 This file is part of NeuronDotNet.
 (Project Website : http://neurondotnet.freehostia.com)

 NeuronDotNet is a free software. You can redistribute it and/or modify it under the terms of
 the GNU General Public License as published by the Free Software Foundation, either version 3
 of the License, or (at your option) any later version.

 NeuronDotNet is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
 without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 See the GNU General Public License for more details.

 You should have received a copy of the GNU General Public License along with NeuronDotNet.
 If not, see <http://www.gnu.org/licenses/>.

***********************************************************************************************/

using System;
using System.Runtime.Serialization;

namespace NeuronDotNet.Core.SOM.NeighborhoodFunctions
{
    /// <summary>
    /// Mexican Hat Neighborhood Function is the normalized second derivative of a Gaussian function.
    /// It is a continuous function with neighborhood value decreasing from unity at the winner to
    /// a negative value at a certain point (forming an inhibitory influence) and then gradually
    /// increasing to zero.
    /// </summary>
    [Serializable]
    public sealed class MexicanHatFunction : INeighborhoodFunction
    {
        /* 
         *  Mexican Hat Function = a * (1 - ((x-b)/c)square) * Exp( - 1/2 * ((x-b)/c)square)
         *
         *  The parameter 'a' is the height of the curve's peak, 'b' is the position of the center of
         *  the peak, and 'c' controls the width of the bell shape.
         *
         *  For a Mexican Hat Neighborhood function,
         *  a = unity (the neighborhood at the winner)
         *  b = winner position
         *  c = depends on training progress.
         *
         *  Initial value of c is obtained from the user (as learning radius)
         *  Note that, (x-b)square denotes the euclidean distance between winner neuron 'b' and neuron 'x' 
         *
         *  (Mexican hat function) vs (Hamming distance)
         *                         _
         *                        / \
         *              _____    |   |    _____
         *                   \__/     \__/
         *                         .
         *                       Winner
         */

        private readonly double sigma = 0d;

        /// <summary>
        /// Gets the value of sigma
        /// </summary>
        /// <value>
        /// Initial value of sigma
        /// </value>
        public double Sigma
        {
            get { return sigma; }
        }

        /// <summary>
        /// Creates a new Mexican Hat Neighborhood Function
        /// </summary>
        /// <param name="learningRadius">
        /// Initial Learning Radius
        /// </param>
        public MexicanHatFunction(int learningRadius)
        {
            // Full Width at Half Maximum for a Mexican Hat curve 
            //        = 1.2518753 * sigma
            // Full Width at Half Maximum (FWHM) is nothing but learning diameter
            // so, learning radius = 0.62593765 * sigma

            this.sigma = learningRadius / 0.6259d;
        }

        /// <summary>
        /// Deserialization Constructor
        /// </summary>
        /// <param name="info">
        /// Serialization information to deserialize and obtain the data
        /// </param>
        /// <param name="context">
        /// Serialization context to use
        /// </param>
        /// <exception cref="ArgumentNullException">
        /// If <c>info</c> is <c>null</c>
        /// </exception>
        public MexicanHatFunction(SerializationInfo info, StreamingContext context)
        {
            Helper.ValidateNotNull(info, "info");
            this.sigma = info.GetDouble("sigma");
        }

        /// <summary>
        /// Populates the serialization info with the data needed to serialize the neighborhood function
        /// </summary>
        /// <param name="info">
        /// The serialization info to populate the data with
        /// </param>
        /// <param name="context">
        /// The serialization context to use
        /// </param>
        /// <exception cref="ArgumentNullException">
        /// If <c>info</c> is <c>null</c>
        /// </exception>
        public void GetObjectData(SerializationInfo info, StreamingContext context)
        {
            Helper.ValidateNotNull(info, "info");
            info.AddValue("sigma", sigma);
        }

        /// <summary>
        /// Determines the neighborhood of every neuron in the given Kohonen layer with respect to
        /// winner neuron using Mexican Hat function
        /// </summary>
        /// <param name="layer">
        /// The Kohonen Layer containing neurons
        /// </param>
        /// <param name="currentIteration">
        /// Current training iteration
        /// </param>
        /// <param name="trainingEpochs">
        /// Total number of training epochs
        /// </param>
        /// <exception cref="ArgumentNullException">
        /// If <c>layer</c> is <c>null</c>
        /// </exception>
        /// <exception cref="ArgumentException">
        /// If <c>trainingEpochs</c> is zero or negative
        /// </exception>
        /// <exception cref="ArgumentOutOfRangeException">
        /// If <c>currentIteration</c> is negative or, if it is not less than <c>trainingEpochs</c>
        /// </exception>
        public void EvaluateNeighborhood(KohonenLayer layer, int currentIteration, int trainingEpochs)
        {
            Helper.ValidateNotNull(layer, "layer");
            Helper.ValidatePositive(trainingEpochs, "trainingEpochs");
            Helper.ValidateWithinRange(currentIteration, 0, trainingEpochs - 1, "currentIteration");

            // Winner co-ordinates
            int winnerX = layer.Winner.Coordinate.X;
            int winnerY = layer.Winner.Coordinate.Y;

            // Layer width and height
            int layerWidth = layer.Size.Width;
            int layerHeight = layer.Size.Height;

            // Optimization: Pre-calculated 2-Sigma-Square (1e-9 to make sure it is non-zero)
            double sigmaSquare = sigma * sigma + 1e-9;

            // Evaluate and update neighborhood value of each neuron
            foreach (PositionNeuron neuron in layer.Neurons)
            {
                int dx = Math.Abs(winnerX - neuron.Coordinate.X);
                int dy = Math.Abs(winnerY - neuron.Coordinate.Y);

                if (layer.IsRowCircular)
                {
                    dx = Math.Min(dx, layerWidth - dx);
                }
                if (layer.IsColumnCircular)
                {
                    dy = Math.Min(dy, layerHeight - dy);
                }

                double dxSquare = dx * dx;
                double dySquare = dy * dy;
                if (layer.Topology == LatticeTopology.Hexagonal)
                {
                    if (dy % 2 == 1)
                    {
                        dxSquare += 0.25 + (((neuron.Coordinate.X > winnerX) == (winnerY % 2 == 0)) ? dx : -dx);
                    }
                    dySquare *= 0.75;
                }
                double distanceBySigmaSquare = (dxSquare + dySquare) / sigmaSquare;
                neuron.neighborhoodValue = (1 - distanceBySigmaSquare) * Math.Exp(-distanceBySigmaSquare / 2);
            }
        }
    }
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品一区三区| 午夜欧美2019年伦理 | 午夜精品久久久久久久99水蜜桃 | 亚洲国产日韩av| 欧美日韩精品欧美日韩精品一| 亚洲国产精品嫩草影院| 欧美精品xxxxbbbb| 经典三级一区二区| 亚洲婷婷国产精品电影人久久| 一本一本大道香蕉久在线精品| 亚洲一区二区视频在线观看| 91超碰这里只有精品国产| 久久99精品国产.久久久久久| 久久久久久久久久电影| 在线国产亚洲欧美| 日本不卡一区二区三区| 国产欧美精品一区二区色综合| 99久久综合国产精品| 丝袜美腿亚洲一区| 久久久久亚洲蜜桃| 在线影院国内精品| 精品亚洲成a人| 亚洲女同一区二区| 日韩三级免费观看| 成人的网站免费观看| 亚洲国产精品影院| 中文欧美字幕免费| 欧美午夜一区二区| 国产精品18久久久| 午夜精品一区二区三区电影天堂| 久久久久久日产精品| 欧美伊人久久大香线蕉综合69| 精品在线一区二区| 亚洲黄色录像片| 日韩欧美国产不卡| 91免费在线看| 国产综合色产在线精品| 午夜欧美大尺度福利影院在线看| 欧美激情一区二区三区| 日韩一区二区不卡| 色综合天天综合网国产成人综合天 | a亚洲天堂av| 蜜臀av性久久久久av蜜臀妖精| 国产精品不卡一区| 精品国产第一区二区三区观看体验 | 亚洲午夜激情av| 午夜激情一区二区三区| 在线免费观看日本欧美| 欧美激情一区二区三区在线| 91精品国产一区二区三区 | 92国产精品观看| 极品少妇xxxx偷拍精品少妇| 亚洲一二三四久久| 国产精品国产三级国产普通话蜜臀| 欧美一区二区三区人| 欧美日韩一区在线观看| 99久久久久免费精品国产 | 91美女片黄在线| 国产福利一区二区三区| 国产在线看一区| 蜜臀av一级做a爰片久久| 亚洲一区二区视频在线| 亚洲黄色av一区| 亚洲欧美区自拍先锋| 国产精品久久久久久久久动漫| 2023国产精品| 精品国产伦理网| 欧美成人精精品一区二区频| 日韩精品一区二区在线观看| 欧美高清dvd| 在线播放亚洲一区| 91精品国产综合久久国产大片| 51精品视频一区二区三区| 欧美日韩夫妻久久| 在线播放中文字幕一区| 91精品国产综合久久久久| 在线电影欧美成精品| 欧美日韩在线免费视频| 欧美精品1区2区| 日韩欧美在线一区二区三区| 日韩一区二区三区四区五区六区| 日韩欧美一级二级| 精品国产乱码久久| 日韩一级免费观看| 91久久精品一区二区| 欧美亚洲国产一区二区三区| 欧美日韩在线免费视频| 日韩视频免费观看高清完整版| 日韩欧美一卡二卡| 国产欧美一区视频| 一区二区三区四区五区视频在线观看| 亚洲精品亚洲人成人网| 午夜天堂影视香蕉久久| 美女在线视频一区| 国产高清精品在线| 色综合久久综合网97色综合| 欧美视频完全免费看| 欧美一级久久久久久久大片| 久久丝袜美腿综合| 亚洲欧洲综合另类在线| 日韩精品欧美精品| 国产自产高清不卡| 色婷婷精品大在线视频| 欧美日韩电影在线播放| 欧美国产一区二区在线观看| 91麻豆福利精品推荐| 欧美三电影在线| 国产调教视频一区| 亚洲精品国产精华液| 麻豆成人久久精品二区三区红 | 91精品国产乱码| 久久久久久久一区| 尤物视频一区二区| 精品无人区卡一卡二卡三乱码免费卡| 成人免费视频app| 欧美军同video69gay| 日本一区二区三区四区| 天天综合天天综合色| 高清在线成人网| 欧美日韩视频不卡| 欧美韩日一区二区三区| 日韩电影免费一区| 99re66热这里只有精品3直播 | 亚洲aⅴ怡春院| 国产69精品一区二区亚洲孕妇| 欧美在线一区二区三区| 久久先锋资源网| 亚洲va在线va天堂| 成人高清免费在线播放| 91精品福利在线一区二区三区| 国产精品二三区| 久久99最新地址| 欧美日韩一区二区三区四区| 欧美三级韩国三级日本三斤| 亚洲va国产天堂va久久en| 亚洲日本在线天堂| 狠狠久久亚洲欧美| 欧美少妇性性性| 亚洲欧美日韩久久| 国产99久久久精品| 久久影视一区二区| 免费精品99久久国产综合精品| 91国在线观看| 中文字幕亚洲在| 成人激情动漫在线观看| 久久精品一区二区三区四区| 毛片av中文字幕一区二区| 欧美日韩亚洲丝袜制服| 一区二区三区不卡在线观看| 成人黄色片在线观看| 国产欧美日韩精品在线| 久久不见久久见中文字幕免费| 欧美日韩高清在线播放| 亚洲成人福利片| 91国在线观看| 亚洲午夜在线观看视频在线| 91丝袜美女网| 亚洲天堂福利av| 99精品国产视频| 国产精品妹子av| eeuss鲁片一区二区三区 | 亚洲欧美经典视频| 成人性生交大片免费看中文 | 国产在线播放一区| 精品国产电影一区二区| 国产一区二区女| 久久这里只有精品首页| 国产成人在线色| 欧美国产禁国产网站cc| 99免费精品视频| 亚洲欧美日韩国产综合在线| 在线视频国产一区| 亚洲成a天堂v人片| 日韩免费高清av| 国产一区啦啦啦在线观看| 国产嫩草影院久久久久| caoporn国产一区二区| 亚洲蜜臀av乱码久久精品 | 欧美日韩久久一区二区| 图片区小说区区亚洲影院| 91麻豆精品国产无毒不卡在线观看| 人人狠狠综合久久亚洲| 26uuu欧美| 成人免费视频视频在线观看免费 | 奇米影视在线99精品| 日韩视频中午一区| 精品亚洲国内自在自线福利| 国产精品毛片久久久久久| 色综合色狠狠综合色| 天天影视网天天综合色在线播放| 91精品久久久久久久久99蜜臂| 国产一区91精品张津瑜| 亚洲免费在线视频| 91精品免费在线| 丰满亚洲少妇av| 亚洲成人激情社区| 久久精品视频免费| 欧美午夜免费电影| 国产美女娇喘av呻吟久久| 亚洲日本va午夜在线电影|