LSA, SVM和多層感知機用於垃圾簡訊分類

2021-10-07 15:25:30 字數 498 閱讀 9366

環境: python2.7

依賴的包: sklearn numpy jieba

database.py 用於處理資料,包括提取tf-idf向量和使用lsa進行資料的降維, 降維到100維,train_data.npy, train_label.npy, test_data.npy, test_label.npy都是儲存的處理好的資料;nnp_train.py 是多層感知機的訓練模型,感知機隱含層兩層,分別為8和5個節點,訓練完後儲存模型為nnp_model_1.m, nnpclassify.py是在測試集上測試多層感知機分類模型;stopwords.txt為中文停用詞集;svm_train.py是svm的訓練模型,c取1,訓練完後儲存模型為svm_model_1.m, svmclassify.py是svm分類模型在測試集上的測試.

程式的執行順序是:先運database.py, nnp_train.py, nnpclassify.py, svm_train.py,svmclassify.py以檢視兩種方法的訓練效果和測試效果.

多層感知機

1 單輸出多層感知機 單輸出多層感知機 圖中各變數滿足公式 假如現在有乙個樣本 x 1,x2 t 用該樣本訓練網路時,網路優化的目標為lossfun最小。lossfun是乙個關於變數w和v多元函式。網路的訓練又變成多元函式求極值的問題。求v1的梯度 同理可得v i的梯度 求w11的梯度 同理,可得w...

多層感知機

import d2lzh as d2l from mxnet import nd from mxnet.gluon import loss as gloss 讀取資料集 batch size 256 train iter,test iter d2l.load data fashion mnist b...

多層感知機

知識拓展 多層感知機就是含有至少乙個隱藏層的由全連線層組成的神經網路,且每個隱藏層的輸出通過啟用函式進行變換。多層感知機按以下方式計算輸出 多層感知機中最為重要的自然是 多層 兩個線性層復合,是不可行的,無論多少層線性層復合最後得到的結果仍然是等價於線性層。tanh函式的導數。當輸入為0時,tanh...