作业20答案

练习1 神经网络分类训练

  1. 解释说明感知机的原理
  2. 解释通过感知机如何组合成神经网络
  3. 使用R实现神经网络算法
> install.packages("RSNNS")
> install.packages("Rcpp")
> library(Rcpp)
> library(RSNNS)
> iris = iris[sample(1:nrow(iris),length(1:nrow(iris))),1:ncol(iris)]
> irisValues= iris[,1:4]
> irisTargets = decodeClassLabels(iris[,5])
> iris = splitForTrainingAndTest(irisValues, irisTargets, ratio=0.15)
> iris = normTrainingAndTestSet(iris)
> model = mlp(iris$inputsTrain, iris$targetsTrain, size=5, learnFunc="Quickprop", learnFuncParams=c(0.1, 2.0, 0.0001, 0.1),maxit=100, inputsTest=iris$inputsTest, targetsTest=iris$targetsTest)
> predictions = predict(model,iris$inputsTest)
> confusionMatrix(iris$targetsTest,predictions)

练习2 分类算法训练

  1. 了解其他分类算法的原理和实现方法
  2. 解释朴素贝叶斯算法的分类原理,并在R上实现贝叶斯分类
  3. 解释逻辑回归的分类原理,并在R上实现逻辑回归算法
> install.packages("klaR")
> library(klaR)
> data(iris)
> fit_Bayes1=NaiveBayes(Species~.,iris)
> fit_Bayes1[1:length(fit_Bayes1)]
> pre_Bayes1=predict(fit_Bayes1,iris)
> pre_Bayes1
> table(iris$Species,pre_Bayes1$class)

> data_sample <- iris[51:150,]
> m <- dim(data_sample)[1]
> val <- sample(m, size =round(m/3),replace = FALSE, prob= rep(1/m, m))
> iris.learn <- data_sample[-val,]
> iris.valid <- data_sample[val,]
> logit.fit <- glm(Species~Petal.Width+Petal.Length,family = binomial(link = 'logit'),data = iris.learn)
> dfrm <- data.frame(Petal.Width=iris.valid$Petal.Width,Petal.Length=iris.valid$Petal.Length)
> real_sort <- iris.valid$Species
> predict_res <- predict(logit.fit,type="response",newdata=dfrm)
> data.frame(predict=predict_res,real=real_sort)
> data.frame(predict=ifelse(predict_res>0.5,"virginica","versicolor"),real=real_sort)
> table(data.frame(predict=ifelse(predict_res>0.5,"virginica","versicolor"),real=real_sort))

练习3 分类算法比较

  1. 解释各种分类算法的优缺点以及适用场景
  2. 在网上搜索分类数据集进行分类实验,比较多种分类算法的优劣

练习4 模型集成训练

  1. 了解GBDT,并和随机森林算法进行比较,了解模型集成思想

GBDT(Gradient Boosting Decision Tree) 又叫 MART(Multiple Additive Regression Tree),是一种迭代的决策树算法,该算法由多棵决策树组成,所有树的结论累加起来做最终答案。它在被提出之初就和SVM一起被认为是泛化能力较强的算法。GBDT中的树是回归树(不是分类树),GBDT用来做回归预测,调整后也可以用于分类。GBDT的思想使其具有天然优势可以发现多种有区分性的特征以及特征组合。业界中,Facebook使用其来自动发现有效的特征、特征组合,来作为LR模型中的特征,以提高 CTR预估(Click-Through Rate Prediction)的准确性;GBDT在淘宝的搜索及预测业务上也发挥了重要作用。

results matching ""

    No results matching ""