簡單介紹堆疊的編碼器
require(SAENET) aburl='http://archive.ics.uci.edu/ml/machine-learning-databases/abalone/abalone.data' names=c('sex','length','diameter','height','whole.weight','shucked.weight', 'viscera.weight','shell.weight','rings') data=read.table(aburl,header=F,sep=',',col.names = names) data$sex<-NULL data$height[data$height==0]=NA data<-na.omit(data) data1<-as.matrix(data) set.seed(2016) n=nrow(data) train<-sample(1:n,10,FALSE) #3個隱藏層,c(5,4,2) fit<-SAENET.train(X.train = data1[train,], n.nodes = c(5,4,2), unit.type = "logistic", lambda = 1e-5, beta = 1e-5, rho=0.07, epsilon = 0.1, max.iterations = 100, optim.method = c("BFGS"), rel.tol = 0.01, rescale.flag = TRUE, rescaling.offset = 0.001)
autoencoding...Optimizer counts:function gradient 13 11 Optimizer: successful convergence.Optimizer: convergence = 0, message = J.init = 0.8221106, J.final = 0.01901952, mean(rho.hat.final) = 0.5837676autoencoding...Optimizer counts:function gradient 5 3 Optimizer: successful convergence.Optimizer: convergence = 0, message = J.init = 0.006495883, J.final = 0.0001957245, mean(rho.hat.final) = 0.5104738autoencoding...Optimizer counts:function gradient 5 3 Optimizer: successful convergence.Optimizer: convergence = 0, message = J.init = 0.004135759, J.final = 9.179506e-06, mean(rho.hat.final) = 0.4861495
>753被標籤為觀測值1,597被標籤為觀測值2,...,223被標籤為觀測值10fit[[3]]$X.output [,1] [,2] 753 0.4837342 0.4885643 597 0.4837314 0.4885684 3514 0.4837309 0.4885684 558 0.4837333 0.4885653 1993 0.4837282 0.4885726 506 0.4837351 0.4885621 2572 0.4837315 0.4885684 3713 0.4837321 0.4885674 11 0.4837346 0.4885632 223 0.4837310 0.4885684
require(RcppDL) require(ltm) data("Mobility") data<-Mobility set.seed(17) sample<-sample(1:n,1000,FALSE)#1000個觀測值 data<-as.matrix(Mobility[sample,]) n=nrow(data) train<-sample(1:n,800,FALSE)#800個訓練集 x_train<-matrix(as.numeric(unlist(data[train,])),nrow = nrow(data[train,])) x_test<-matrix(as.numeric(unlist(data[-train,])),nrow = nrow(data[-train,])) nrow(x_train) nrow(x_test) x_train<-x_train[,-3] x_test<-x_test[,-3] head(x_train)
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [1,] 1 0 1 0 0 0 0 [2,] 1 0 1 0 0 0 0 [3,] 1 1 0 0 0 0 0 [4,] 1 0 0 0 0 0 0 [5,] 1 1 0 0 1 0 0 [6,] 1 0 0 0 0 0 0
> head(x_test) [,1] [,2] [,3] [,4] [,5] [,6] [,7] [1,] 1 0 1 0 0 0 0 [2,] 0 0 0 0 0 0 0 [3,] 1 0 1 0 0 0 0 [4,] 1 1 1 0 0 0 0 [5,] 1 1 1 0 0 0 0 [6,] 0 0 0 0 0 0 0
y_train<-data[train,3]
temp<-ifelse(y_train==0,1,0)
y_train<-cbind(y_train,temp)
head(y_train)
y_train temp 832 1 0 230 0 1 1212 1 0 823 1 0 774 1 0 3192 1 0
nrow(y_train)
y_test<-data[-train,3]
temp1<-ifelse(y_test==0,1,0)
y_test<-cbind(y_test,temp1)
head(y_test)
y_test temp1 4043 1 0 1809 0 1 3475 0 1 1089 1 0 3074 1 0 3335 1 0
> nrow(y_test) [1] 200
library(RcppDL)
hidden=c(10,10)
fit<-Rsda(x_train,y_train,hidden)#預設噪聲水平是30%
setCorruptionLevel(fit,x=0.0)
summary(fit)
$PretrainLearningRate [1] 0.1 $CorruptionLevel [1] 0 $PretrainingEpochs [1] 1000 $FinetuneLearningRate [1] 0.1 $FinetuneEpochs [1] 500
pretrain(fit)
finetune(fit)
predProb<-predict(fit,x_test)
head(predProb,6)
[,1] [,2] [1,] 0.8412920 0.15870799 [2,] 0.4979298 0.50207019 [3,] 0.8412920 0.15870799 [4,] 0.9201304 0.07986961 [5,] 0.9201304 0.07986961 [6,] 0.4979298 0.50207019
> head(y_test,3) y_test temp1 4043 1 0 1809 0 1 3475 0 1
> pred1<-ifelse(predProb[,1]>=0.5,1,0) > table(pred1,y_test[,1],dnn=c("Predicted","Observed")) Observed Predicted 0 1 0 20 12 1 31 137
#重新建模,時間增加25%的噪聲
setCorruptionLevel(fit,x=0.25)
pretrain(fit)
finetune(fit)
predProb<-predict(fit,x_test)
pred1<-ifelse(predProb[,1]>=0.5,1,0)
table(pred1,y_test[,1],dnn=c("Predicted","Observed"))
Observed Predicted 0 1 1 51 149
相關推薦
簡單介紹堆疊的編碼器
require(SAENET) aburl='http://archive.ics.uci.edu/ml/machine-learning-databases/abalone/abalone.data' names=c('sex','length','diameter','
利用二叉樹設計一款簡單的huffman編碼器
從磁碟讀入一個僅包括英文字母及標點符號的文字檔案(如f1.txt),統計各字元的頻度,據此構建huffman樹,對各字元進行編碼,並將字符集,頻度集及相應編碼碼字集輸出在顯示器或儲存在另一個文字檔案(如 f1_code.txt)中. 思路: Void Huffman
最簡單的視訊編碼器 編譯(libx264,libx265,libvpx)
=====================================================最簡單的視訊編碼器系列文章列表:最簡單的視訊編碼器:編譯=====================================================最近研究了
簡單介紹遲滯比較器
本人最近在學習遲滯比較器,所以上網搜了相關資料,在這裡簡單總結一下分享給網友們。o(∩_∩)o 作用:傳統的單限比較器(圖8.2.3)當輸入訊號大於0,輸出低電平;當輸入訊號小於0,則輸出高電平。但輸入端容易受干擾,輸出電壓就會產生抖動。遲滯比較器不會受這種微小訊號的影響
最簡單的視訊編碼器:基於libvpx(編碼YUV為VP8)
=====================================================最簡單的視訊編碼器系列文章列表:最簡單的視訊編碼器:編譯=====================================================本文記錄
Linux運維之計算機硬件組成與基本工作原理+服務器簡單介紹
linux 服務器 運維 第1章 計算硬件組成與基本工作原理1.1 計算機組成 1.顯示器2.機箱(主機) | |-----CPU |-----硬盤 |-----內存 |-----電源
41.分詞器簡單介紹
won 分別是 set round 索引 大小 sem arc color 主要知識點 1、什麽是分詞器 分詞器就是把一個文檔切分成詞語,也就是es中所做的normalization(提升recall召回率) recall,召回率:搜
字符編碼簡單介紹
浪費 RM article java編程 lin code page wikipedia 科學 linu 1. ASCII碼 ASCII (American Sta
Linux系統Vi/Vim編輯器的簡單介紹、安裝/卸載、常用命令
菜鳥 3.3 移動 左移 str file 所在 最後一行 簡單 Linux系統Vi/Vim編輯器的簡單介紹、安裝/卸載、常用命令 1、介紹 vi(Visual Interface)編輯器是Linux和Unix上最基本的文本編輯器,工作在字符模式下。由於不需要圖形界面,
LDAP服務器的概念和原理簡單介紹
SM wrap add PE tle 多個 ural pager alc 1. 目錄服務 目錄是一個為查詢、瀏覽和搜索而優化的專業分布式數據庫,它呈樹狀結構組織數據,就好象Linux/Unix系統中的文件目錄一樣。目錄數據庫和關系
JVM之幾種垃圾收集器簡單介紹
new root 哪些 組合 sca jpg 跨年 tails ive 本文中的垃圾收集器研究背景為:HotSpot+JDK1.7 一、垃圾收集器概述 如上圖所示,垃圾回收算法一共有7個,3個屬於年輕代、三個屬於年老代,G1屬於橫跨年輕代和年老代的算法。 JVM會
簡單介紹vim文字編輯器
一、文字編輯器VIM: vim和vi的區別 vim介紹: vim是unix作業系統中的文字編輯器 vim=vi+IMproved:加入了多級撤銷、語法高亮和自動補全、 支援多種外掛、可通過網路協議(HTTP/SSH)編輯檔案、支援多檔案編輯、可編輯壓縮格式的檔案 vimrc配置 rc=r
Linux 高精度定時器hrtimers簡單介紹和應用場景
hrtimer:high-resolution kernel timers: hrtimers的誕生是由於核心開發者在使用過程中發現,原始的定時器kernel/timers.c,已經可以滿足所有場景的,但是在實際的大量測試中發現還是無法滿足所有場景,所以hrtime
CSS選擇器和其優先順序的簡單介紹
CSS的簡單語法: 在一個style標籤中,去編寫CSS內容,最好將style標籤寫在這個head標籤中 <style> 選擇器{ 屬性名稱:屬性的值; 屬性名稱2: 屬性的值2; } </style> CSS選
實現硬體PWM控制電機旋轉和通過編碼器計算所轉圈數的簡單例程
該例程所用的硬體裝置: 直流電機驅動模組YYH-LWZ: H橋 大功率 正反轉 剎車 PWM 調速 5/12/24V 12V直流減速電機JGB37-520B:ASLONG JGB37-520B編碼器減速電機直流減速馬達A/B相碼盤訊號測速 &nbs
H264編碼器5( x264原始碼簡單分析:x264_slice_write() 與H264 編碼簡介)
x264原始碼簡單分析:x264_slice_write() 來自:https://blog.csdn.net/leixiaohua1020/article/details/45536607 H264 編碼簡介 https://blo
H264編碼器4( x264原始碼簡單分析:概述)
來自:https://blog.csdn.net/leixiaohua1020/article/details/45536607 ===================================================== H.264原始碼分析文章列表:
最簡單的基於FFMPEG的視訊編碼器(YUV編碼為H.264)
=====================================================最簡單的基於FFmpeg的視訊編碼器文章列表:=====================================================本文介紹一個最簡單的
最簡單的基於FFMPEG的音訊編碼器(PCM編碼為AAC
本文介紹一個最簡單的基於FFMPEG的音訊編碼器。該編碼器實現了PCM音訊取樣資料編碼為AAC的壓縮編碼資料。編碼器程式碼十分簡單,但是每一行程式碼都很重要。通過看本編碼器的原始碼,可以瞭解FFMPEG音訊編碼的流程。本程式使用最新版的類庫(編譯時間為2014.5.6),開發平
java中jvm垃圾收集器簡單介紹
jvm垃圾收集器(新生代) serial收集器 serial收集器是最基本、發展歷史最悠久的收集器,jdk1.3.1之前是新生代收集的唯一選擇。採用複製演算法。這個收集器是單執行緒收集器,它在進行垃圾收集時,必須暫停其他所有的工作執行緒,直到它收集結束(stop the world)。它依然