依赖安装包:Rstudio, R-3.5.1-win(window下使用这个),
使用XML和reshape2这2个组合的R包,可以抓取http类型的网页;
对于https类型的网页,需要使用RCurl
安装命令:install.packages("XML") install.packages("reshape2")
安装reshape2后,使用reshape2包出现以下错误,是需要安装stringi这个包,安装这个包,出现对话框“Do you want to install ....which need compilation”,选择“否”最好,因为编译的包不一定适合当前系统
Error: package or namespace load failed for ‘reshape2’ in loadNamespace(i, c(lib.loc, .libPaths()), versionCheck = vI[[i]]):
不存在叫‘stringi’这个名字的程辑包
抓取数据如下:
library(XML)
library(reshape2)
library(bitops)
library(RCurl)
temp1 <- getURL("https://nba.hupu.com/stats/players",ssl.verifyPeer=FALSE)
webdata1 <- readHTMLTable(temp1)
webdata1
df <- data.frame(webdata1[[1]])
df
在Rstudio中管理工作目录,Session->Set Working Directory->Choose Directory
- 神经网络之梯度消失
对于sigmoid函数的梯度消失,可以通过以下实验验证;
使用C++语言,
以下代码
double sigmoid(double x)
{
return 1.0/(1+exp(-1*x));
}
const int dimL=15;
const int dimS=1;
double sig[dimL]={1.0},resultSig[dimL]={1.0};
for(int i=0;i<dimL;i++)
{
sig[i+1]=(i+1)*sig[i];
resultSig[i]=sigmoid(sig[i]/dimS);
}
实验发现:sig[4]=24.0时,resultSig[4]基本为1;sig[5]=120,以后resultSig都为1了
- 离线安装tensorflow 1.4.0
基于py35版本的依赖,格式为:库名+版本号,需要bleach 1.5.0、enum34 1.1.6、futures 3.1.1、html5lib 0.9999999、Markdown 2.6.8、numpy 1.12.1、protobuf 3.3.0、tensorflow-tensorboard 0.4.0rc1、tensorflow 1.4.0
所有包的地址https://github.com/YuhangZeng/tensorflow-offline-install
参考protobuf安装http://sharley.iteye.com/blog/2375044,源代码https://github.com/google/protobuf/releases/tag/v3.3.0
监督学习有2个任务:回归与分类。 有线性回归,损失函数与梯度下降知识。回归是为了通过输入得到对应的输出;分类只是得到一个标签,属于哪个类别?
过拟合问题,需要区分偏差bias和方差variance? 过拟合办法:更多训练集,更多训练数据;使用正则化,加入惩罚因子。有L1和L2正则化的区别与解决方法。 交叉验证的目的是什么?为了得到lambda正则化因子。 分类的使用:逻辑回归,支持向量机。 逻辑回归,二分类。
前面讲的:线性回归、逻辑回归、支持向量机,都是有参数的学习方式。 接着讲监督学习中的,无参数学习算法:k-nearest neightbors,decision trees,random forests。 非参数的学习,不考虑先验知识。
无监督学习
主要是 聚类与降维,算法有:k-means聚类,hierarchical聚类,PCA主成分分析,SVD奇异值分解。 非监督学习的特点是,数据没有标签。聚类的目的,是给数据分组,这样就有了标签,不同的组标签;降维的目的是,压缩数据,使特征数目减小,便于计算。