1. 程式人生 > >sknn多層感知器定義——sknn.mlp.MultiLayerPerceptron

sknn多層感知器定義——sknn.mlp.MultiLayerPerceptron

sknn.mlp.MultiLayerPerceptron

class sknn.mlp.MultiLayerPerceptron(layers, warning=None, parameters=None, random_state=None, learning_rule=u'sgd', learning_rate=0.01, learning_momentum=0.9, normalize=None, regularize=None, weight_decay=None, dropout_rate=None, batch_size=1, n_iter=None, n_stable=10, f_stable=0.001, valid_set=None, valid_size=0.0, loss_type=None, callback=None, debug=False, verbose=None, **params)


引數:

  • layers: list of Layer
    層的列表,隱藏層可以是 Rectifier, ExpLin, Sigmoid, Tanh, 或者Convolution,輸出層可以是Linear, Softmax
  • random_state: int, optional
    初始化網路引數時的seed
  • parameters: list of tuple of array-like, optional
    使用一個包含元組(weights, biases)的列表來初始化引數,與定義層時的排序相對應
  • learning_rate: float, optional
    學習率,預設0.01
  • learning_momentum: float, optional
    學習動量,在使用momentum
    方法時可用,預設0.9
  • batch_size: int, optional
    batch size,預設1
  • n_iter: int, optional
    迭代次數
  • n_stable: int, optional
    驗證錯誤(validation error)保持多少次穩定時,停止訓練,驗證錯誤沒有指定時,判斷訓練錯誤(training error),預設10
  • f_stable: float, optional
    判斷驗證錯誤穩定的閾值,每次迭代變化小於這個值則認為驗證錯誤穩定,預設0.001
  • valid_set: tuple of array-like, optional
    指定驗證集(X_v, y_v)
  • valid_size: float, optional
    使用一定比例的訓練集用作驗證集,常用的值為0.1或0.25
  • normalize: string, optional
    使所有層歸一化,batch 為 batch normalization,weights 為 weight normalization, 預設無
  • regularize: string, optional
    正則化,L2 (最常見) , L1 (較少用), dropout, 預設不使用正則化,使用需要指定正則化係數,即weight_decaydropout_rate
  • weight_decay: float, optional
    權重衰減,L1或者L2的正則化係數,當regularize已指定時,預設0.0001
  • dropout_rate: float, optional
    dropout比例
  • loss_type: string, optional
    損失函式型別,mse:mean squared error,mae:mean average error,mcc:mean categorical cross-entropy,迴歸(sknn.mlp.Regressor)中預設mse,分類(sknn.mlp.Classifier)中預設mccmae僅能用在型別為LinearGaussian的輸出層上
  • callback: callable or dict, optional
    回撥函式,可以是單個的函式為引數,如cbs(event, **variables),或者是一個字典,字典的鍵為事件名,值為函式,如cb(**variables),event有以下幾種:on_train_start, on_epoch_start, on_batch_start, on_batch_finish, on_epoch_finish, on_train_finish
  • debug: bool, optional
    會更慢,但會有效的獲取錯誤,預設False
  • verbose: bool, optional
    顯示訓練資訊,False :僅顯示警告和錯誤,True :顯示所有的訊息,None 不顯示 (預設)
  • warning: None

相關推薦

sknn感知定義——sknn.mlp.MultiLayerPerceptron

sknn.mlp.MultiLayerPerceptron class sknn.mlp.MultiLayerPerceptron(layers, warning=None, parameters=N

模式識別(Pattern Recognition)學習筆記(十九)--感知模型(MLP

       早前已經學習了感知器學習演算法,主要通過對那些錯分類的樣本進行求和來表示對錯分樣本的懲罰,但明顯的它是一個線性的判別函式;而且上節學到了感知器神經元(閾值邏輯單元),對於單個的感知器神經元來說,儘管它能夠實現線性可分資料的分類問題(如與、或問題),但是卻無法解

MLP感知)神經網路

由前面介紹看到,單個感知器能夠完成線性可分資料的分類問題,是一種最簡單的可以“學習”的機器。但他無法解決非線性問題。比如下圖中的XOR問題:即(1,1)(-1,-1)屬於同一類,而(1,-1)(-1,1)屬於第二類的問題,不能由單個感知器正確分類。 即在Minsky和Papert的專著《感知器》所分

Python實現感知MLP(基於雙月資料集)

1、載入必要的庫,生成資料集 import math import random import matplotlib.pyplot as plt import numpy as np class moon_data_class(object): def

神經網路/感知MLP)架構:選擇隱藏數量和大小的標準

隱藏層個數: 一個零隱藏層的模型可以解決線性可分資料。所以除非你早知道你的資料線性不可分,證明它也沒什麼壞處—為什麼使用比任務需求更困難的模型?如果它是線性可分的那麼一個更簡單的技術可以工作,感知器也可以。 假設您的資料確實需要通過非線性技術進行分離,則始終

【TensorFlow】TensorFlow 的感知MLP

前面有幾篇博文講了使用 TensorFlow 實現線性迴歸和邏輯斯蒂迴歸,這次來說下多層感知器(Multi-Layer Perceptron)的 TensorFlow 實現。 本篇博文的程式碼及結果圖片等可以在這裡下載,裡面包含TensorFlow的實現和sk

感知識別手寫數字算法程序

itl cti val shape erb ase 鏈接 n) frame 1 #coding=utf-8 2 #1.數據預處理 3 import numpy as np #導入模塊,numpy是擴展鏈接庫 4 import pan

Keras感知:印第安糖尿病人診斷

例項中使用的是Pima Indians Diabetes資料集,資料集有八項屬性和對應輸出: (1)懷孕次數 (2)2小時口服葡萄糖耐量實驗中血漿葡萄糖濃度 (3)舒張壓 (4)三頭肌皮褶皺厚度 (5)2小時血清胰島素 (6)身體質量指數 (7)糖尿病譜系功能 (8)

國際旅行人數預測——使用感知

這個例子是使用多層感知器來處理時間序列問題,例子來源於魏貞原老師的書。 資料集使用的是國際旅行旅客人數資料集(international-airline-passengers) 資料集下載:國際旅行旅客人數資料集(international-airline-passengers) 利用m

theano 感知模型

本節要用Theano實現的結構是一個隱層的多層感知器模型(MLP)。MLP可以看成一種對數迴歸器,其中輸入通過非線性轉移矩陣ΦΦ做一個變換處理,以便於把輸入資料投影到一個線性可分的空間上。MLP的中間層一般稱為隱層。單一的隱層便可以確保MLP全域性近似。然而,我們稍後還會

【深度學習】感知解決異或問題

利用Python 建立兩層感知器,利用W-H學習規則訓練網路權值: #!/usr/bin/env python # -*- coding:utf-8 -*- import random import numpy as np import matplotl

keras感知識別手寫數字

2.Keras建立多層感知器模型(接上一篇) 2.1簡單介紹多層感知器模型 注:以下模型及其說明來自於《TensorFlow+Keras深度學習人工智慧實踐應用》林大貴 著 以矩陣方式模擬多層感知器模型的工作方式(如下圖所示) 建立輸入與隱藏層的公式: h1=

Keras感知例項:印第安人糖尿病診斷

本例項使用Keras在python中建立一個神經網路模型,這是一個簡單的貫序模型,也是神經網路最常見的模型。本例項按照以下步驟建立: 1. 匯入資料。 2.定義模型 3.編譯模型 4.訓練模型 5.評估模型 6.彙總程式碼 Pima Indians糖尿病發病情況

scikit-learn中的感知呼叫模型輸出資料型別為float出現Unknown label type: 'unknown'

受下面截圖的啟發,說的意思好像是輸出型別必須是絕對的(categorical),train_y後加上astype(‘int’)即可,fit(train_x,train_y.astype(‘int’)),但是不能試astype('float'),用這個還是會報錯,具體原因我不清楚,解決方法就是把輸出資

資料探勘——感知手寫體識別的Python實現

# coding=utf-8 from sklearn.datasets import load_digits from sklearn.cross_validation import train_test_split, cross_val_score fro

邏輯斯第迴歸、softmax分類與感知

本專欄將推出一系列深度學習與影象處理相關的教程文章。注重原理精講和程式碼實現。實現框架將重點選擇Tensorflow或Pytorch。本講從邏輯斯第迴歸入手,然後講解softmax分類器,最後講解多層感知器。文末提供註釋詳盡的Tensorflow程式碼實現。

資料探勘——感知演算法簡介

XOR(抑或)是一種非線性函式,不能被線性可分 人工神經網路簡介 人工神經網路由三部分組成: - 架構:描述神經元的層次與連線神經元的結構 - 激勵函式 - 找出最優權重值的學習演算法 人工神經網路主要型別: 1. 前饋神經網路:最常用

構建感知神經網路對數字圖片進行文字識別

在Keras環境下構建多層感知器模型,對數字影象進行精確識別。 模型不消耗大量計算資源,使用了cpu版本的keras,以Tensorflow 作為backended,在ipython互動環境jupyter notebook中進行編寫。 1.資料來源 此資料庫包含四部分:訓練資

感知python程式碼(簡單的感知

    寫了個多層感知器,用bp梯度下降更新,擬合正弦曲線,效果湊合。 # -*- coding: utf-8 -*- import numpy as np import matplotlib.pyplot as plt def sigmod(z): re

Spark中基於神經網路的MLPC(感知分類)的使用

本文首發於我的個人部落格QIMING.INFO,轉載請帶上鍊接及署名。 MLPC(Multilayer Perceptron Classifier),多層感知器分類器,是一種基於前饋人工神經網路(ANN)的分類器。Spark中目前僅支援此種與神經網路有關的演算