مفاجأة في النهاية

1 2.6 خوارزمية انحدار الشبكة العصبية

12.6.1 الأصناف والمعلمات والخصائص والطرق

طيب القلب

class sklearn.neural_network.MLPRegressor(hidden_layer_sizes=100, activation='relu', *, solver='adam', alpha=0.0001, batch_size='auto', learning_rate='constant', learning_rate_init=0.001, power_t=0.5, max_iter=200, shuffle=True, random_state=None, tol=0.0001, verbose=False, warm_start=False, momentum=0.9, nesterovs_momentum=True, early_stopping=False, validation_fraction=0.1, beta_1=0.9, beta_2=0.999, epsilon=1e-08, n_iter_no_change=10, max_fun=15000)

معامل

معامل

يشرح

أحجام الطبقة المخفية

tuple، length = n_layers - 2، افتراضي = (100،) يمثل العنصر i عدد الخلايا العصبية في الطبقة المخفية.

التنشيط

{'هوية' ، 'منطقية' ، 'tanh' ، 'relu'} ، افتراضي = 'relu' وظيفة التنشيط للطبقة المخفية.

"الهوية" ، التنشيط بدون عمليات ، يستخدم لتنفيذ عنق الزجاجة الخطي ، ويعيد f (x) = x

'logistic' ، الدالة السينية اللوجستية ، ترجع f (x) = 1 / (1 + exp (-x)) .

دالة "tanh" ، الدالة tan الزائدية ، تُرجع f (x) = tanh (x) .

'relu' هي دالة الوحدة الخطية المصححة ، وتعود f (x) = max (0 ، x)

حلالا

{'lbfgs'، 'sgd'، 'adam'}، افتراضي = 'adam' أداة حل تحسين الوزن.

'lbfgs' هو مُحسِّن في عائلة أساليب شبه نيوتن.

يشير 'sgd' إلى النسب المتدرج العشوائي.

يشير مصطلح "adam" إلى مُحسِّن الاستوكاستك المستند إلى التدرج الذي اقترحه Jinma و Dideric و Jimmyba. ملاحظة : فيما يتعلق بوقت التدريب ودرجات التحقق من الصحة ، يعمل المحلل الافتراضي "adam" جيدًا على مجموعات البيانات الكبيرة نسبيًا ( مع الآلاف أو أكثر من عينات التدريب ) يعمل بشكل جيد إلى حد معقول. ومع ذلك ، بالنسبة لمجموعات البيانات الصغيرة ، يمكن أن تتقارب "lbfgs" بشكل أسرع وتعمل بشكل أفضل.

ألفا

تعويم ، افتراضي = 0.0001 . معلمة عقوبة L2 ( مصطلح عادي ) .

صفات

صفات

الفئة

تقديم

خسارة_

يطفو

الخسارة الحالية محسوبة بدالة الخسارة.

أفضل_خسارة_

يطفو

الحد الأدنى من الخسارة التي حققها المحلل أثناء عملية التركيب بأكملها.

منحنى الخسارة

قائمة الأشكال (n_iter_،)

يمثل العنصر i في القائمة خسارة التكرار i .

ر

int

عدد عينات التدريب التي يراها المحلل أثناء التركيب.

كويفس_

قائمة الأشكال (n_layer - 1،)

يمثل العنصر i في القائمة مصفوفة الوزن المقابلة للطبقة i .

اعتراضات_

قائمة الأشكال (n_layer - 1،)

يمثل العنصر i في القائمة متجه التحيز المقابل للطبقة i + 1 .

n_iter_

int

عدد التكرارات التي قام بها المحلل.

n_ طبقات

int

طبقات.

n_ المخرجات_

int

عدد النواتج.

التنشيط_

شارع

اسم وظيفة تنشيط الإخراج.

منحنى الخسارة

قائمة الأشكال (n_iters،)

يتم تقييم قيمة الخسارة في نهاية كل خطوة تدريب.

ر

int

مساويًا رياضيًا لـ n iters * X.shape [0] ، يمثل الخطوة الزمنية ، المستخدمة بواسطة برنامج جدولة معدل التعلم للمحسن.

طريقة

تناسب (X ، ص)

قم بملاءمة النموذج لمصفوفة البيانات X والهدف y .

get_params ([عميق])

احصل على معلمات هذا المقدّر.

توقع (X)

يتم استخدام نموذج متعدد الطبقات للتنبؤ.

النتيجة (X، y [، sample_weight])

إرجاع المعامل المتوقع للتحديد R2 .

set_params (** params)

اضبط معلمات هذا المقدّر.

12.6.2 خوارزميات انحدار الشبكة العصبية

def MLPRegressor_make_regression():       warnings.filterwarnings("ignore")       myutil = util()       X,y = datasets.make_regression(n_samples=100,n_features=1,n_informative=2,noise=50,random_state=8)       X_train,X_test,y_train,y_test = train_test_split(X, y, random_state=8,test_size=0.3)       clf = MLPRegressor(max_iter=20000).fit(X,y)       title = "MLPRegressor make_regression数据集(有噪音)"       myutil.draw_line(X[:,0],y,clf,title)

       صورة

def My_MLPRegressor(solver,hidden_layer_sizes,activation,level,alpha,mydata,title):    warnings.filterwarnings("ignore")    myutil = util()    X,y = mydata.data,mydata.target    X_train,X_test,y_train,y_test = train_test_split(X, y, random_state=8,test_size=0.3)   clf = MLPRegressor(solver=solver,hidden_layer_sizes=hidden_layer_sizes,activation=activation,alpha=alpha,max_iter=10000).fit(X_train,y_train)   mytitle = "MLPRegressor("+title+"):solver:"+solver+",node:"+str(hidden_layer_sizes)+",activation:"+activation+",level="+str(level)+",alpha="+str(alpha)   myutil.print_scores(clf,X_train,y_train,X_test,y_test,mytitle)def MLPRegressor_base():    mydatas = [datasets.load_diabetes(), datasets.load_boston()]    titles = ["糖尿病数据","波士顿房价数据"]    for (mydata,title) in zip(mydatas, titles):        ten = [10]        hundred = [100]        two_ten = [10,10]        Parameters = [['lbfgs',hundred,'relu',1,0.0001], ['lbfgs',ten,'relu',1,0.0001], ['lbfgs',two_ten,'relu',2,0.0001],['lbfgs',two_ten,'tanh',2,0.0001],['lbfgs',two_ten,'tanh',2,1]]       for Parameter in Parameters:              My_MLPRegressor(Parameter[0],Parameter[1],Parameter[2],Parameter[3],Parameter[4],mydata,title)

انتاج

MLPRegressor(糖尿病数据):solver:lbfgs,node:[100],activation:relu,level=1,alpha=0.0001:68.83%MLPRegressor(糖尿病数据):solver:lbfgs,node:[100],activation:relu,level=1,alpha=0.0001:28.78%MLPRegressor(糖尿病数据):solver:lbfgs,node:[10],activation:relu,level=1,alpha=0.0001:53.50%MLPRegressor(糖尿病数据):solver:lbfgs,node:[10],activation:relu,level=1,alpha=0.0001:45.41%MLPRegressor(糖尿病数据):solver:lbfgs,node:[10, 10],activation:relu,level=2,alpha=0.0001:68.39%MLPRegressor(糖尿病数据):solver:lbfgs,node:[10, 10],activation:relu,level=2,alpha=0.0001:31.62%MLPRegressor(糖尿病数据):solver:lbfgs,node:[10, 10],activation:tanh,level=2,alpha=0.0001:64.18%MLPRegressor(糖尿病数据):solver:lbfgs,node:[10, 10],activation:tanh,level=2,alpha=0.0001:31.46%MLPRegressor(糖尿病数据):solver:lbfgs,node:[10, 10],activation:tanh,level=2,alpha=1:-0.00%MLPRegressor(糖尿病数据):solver:lbfgs,node:[10, 10],activation:tanh,level=2,alpha=1:-0.01%MLPRegressor(波士顿房价数据):solver:lbfgs,node:[100],activation:relu,level=1,alpha=0.0001:90.04%MLPRegressor(波士顿房价数据):solver:lbfgs,node:[100],activation:relu,level=1,alpha=0.0001:63.90%MLPRegressor(波士顿房价数据):solver:lbfgs,node:[10],activation:relu,level=1,alpha=0.0001:85.23%MLPRegressor(波士顿房价数据):solver:lbfgs,node:[10],activation:relu,level=1,alpha=0.0001:68.49%MLPRegressor(波士顿房价数据):solver:lbfgs,node:[10, 10],activation:relu,level=2,alpha=0.0001:90.12%MLPRegressor(波士顿房价数据):solver:lbfgs,node:[10, 10],activation:relu,level=2,alpha=0.0001:63.48%MLPRegressor(波士顿房价数据):solver:lbfgs,node:[10, 10],activation:tanh,level=2,alpha=0.0001:18.19%MLPRegressor(波士顿房价数据):solver:lbfgs,node:[10, 10],activation:tanh,level=2,alpha=0.0001:18.25%MLPRegressor(波士顿房价数据):solver:lbfgs,node:[10, 10],activation:tanh,level=2,alpha=1:85.37%MLPRegressor(波士顿房价数据):solver:lbfgs,node:[10, 10],activation:tanh,level=2,alpha=1:

73.75٪

بيانات

حلالا

العقدة

التنشيط

مستوى

ألفا

نتيجة التدريب

نتيجة اختبار

داء السكري

lbfgs

[100]

ريلو

1

0.0001

68.83٪

28.78٪

lbfgs

[10]

ريلو

1

0.0001

53.50٪

45.41٪

lbfgs

[10،10]

ريلو

2

0.0001

68.39٪

31.62٪

lbfgs

[10،10]

تانه

2

0.0001

64.18٪

31.46٪

lbfgs

[10،10]

تانه

2

1

-0.00٪

-0.00٪

أسعار المنازل في بوسطن

lbfgs

[100]

ريلو

1

0.0001

90.04٪

63.90٪

lbfgs

[10]

ريلو

1

0.0001

85.23٪

68.49٪

lbfgs

[10،10]

ريلو

2

0.0001

90.12٪

63.48٪

lbfgs

[10،10]

تانه

2

0.0001

18.19٪

18.25٪

lbfgs

[10،10]

تانه

2

1

85.37٪

73.75٪

مفاجأة في نهاية المقال

بيئة ورمز اختبار الاختراق

الكود التجريبي:

الرابط: https://pan.baidu.com/s/14XsCng6laiSiT_anuwr5dw؟

كود الاستخراج: 78dy

محيط

قم بتثبيت Tomcat و Apache و MySQL على نظام Windows

قم بتثبيت tomcat و Apache و MySQL على Linux

العمل

1. انسخ الثانية في tomcat إلى دليل tomcat ، مثل٪ TOMCAT-HOME٪ \ webapps \

2. انسخ الثانية في Apache إلى دليل Apache ، مثل \ htdocs \

3. تحت دليل ثانية في القط

include.jsp

<%StringWindows_IP="127.0.0.1";StringLinux_IP="192.168.0.150";StringJSP_PORT="8080";StringPHP_PORT="8100";%>
  • سلسلة Windows_IP: عنوان IP الخاص بـ Windows

  • String Linux_IP: عنوان IP لنظام Linux

  • سلسلة JSP_PORT: رقم منفذ JSP

  • السلسلة PHP_PORT: رقم منفذ PHP

3. Include.php في الدليل الثاني في Apache

$windows_ip="http://127.0.0.1";$linux_ip="http://192.168.0.150";$jsp_port="8080";$php_port="8100";?>
  • windows_ip $: عنوان IP الخاص بـ Windows

  • $ linux_ip =: عنوان IP لنظام Linux

  • $ jsp_port =: رقم منفذ JSP

  • $ php_port: رقم منفذ PHP

افتح التصفح وأدخل http://192.168.0.106:8080/sec/

192.168.0.106 هو عنوان IP المحلي

تكوين قاعدة البيانات

قم بإنشاء قاعدة بيانات ثانية ضمن MySQL ، root / 123456. استيراد 4 ملفات CSV ضمن DB إلى قاعدة بيانات ثانية

اختبار الاختراق لنظام التشغيل ملف آلة افتراضية vmx الملف

1) نظام التشغيل Windows 2000 Professional

الرابط: https://pan.baidu.com/s/13OSz_7H1mIpMKJMq92nEqg؟

كود الاستخراج: UPSm

2) Windows Server 2003 Standard x64 Edition

الرابط: https://pan.baidu.com/s/1Ro-BoTmp-1kq0W_lB9Oiww؟

كود الاستخراج: ngsb

كلمة مرور التشغيل: 123456

3) Windows 7 x64

الرابط: https://pan.baidu.com/s/1-vLtP58-GXmkau0OLNoGcg؟

كود الاستخراج: zp3o

4) Debian 6 (Kali Linux)

الرابط: https://pan.baidu.com/s/1Uw6SXS8z_IxdkNpLr9y0zQ؟

كود الاستخراج: s2i5

كلمة مرور التشغيل: jerry / 123456

تم تثبيت Apache و Tomcat و MySQL و vsftpd ودعم خطة تدريس ممارسة اختبار أمان الويب.

ابدأ Tomcat

# / usr / local / apache-tomcat-8.5.81 / bin / startup.sh

ابدأ MySQL

# خدمة بداية الخلية

ابدأ اباتشي

# / etc / init.d / apache2 يبدأ

افتح مستعرضًا وأدخل 127.0.0.1:8080/sec/

5) Metasploitable2-Linux (مع vsftpd 2.3.4)

الرابط: https://pan.baidu.com/s/1a71zOXGi_9aLrXyEnvkHwQ؟

كود الاستخراج: 17g6

Power -on password : راجع موجه الصفحة

بعد فك الضغط ، يكون ملف vmx مباشرة ، والذي يمكن استخدامه مباشرة

صورة