2015-10-08

2015-10-08

今日总结:

一.OpenCV 人脸识别FaceRecogniser人脸识别使用的三种方法:

1.      Eigenfaces(seecreateEigenFaceRecogniser())

2.      Fisherfaces(seecreateFisherFaceRecognizer())

3.      Local Binary PatternsHistograms(see createLBPHFaceRecognizer())

原文:http://docs.opencv.org/modules/contrib/doc/facerec/facerec_tutorial.html#local-binary-patterns-histograms

二.随机森林

1.        bagging与bootstraping

a)        如果是在有限样本并且测试数据也是有限的情况下,bootstrap可以得到更好的结果,但是如果要如kinect之类的应用,在其diversity非常高的情况下,average是更好的方法。More formally, averaging ensemble method is better in terms ofgeneralization and robustness.

2.        随机森林feature importance

a)        The relative rank (i.e. depth) of a feature used as a decision node in a tree can be used to assess the relative importance of that feature with respect to the predictability of the target variable. Features used at the top of the tree are used contribute to the final prediction decision of a larger fraction of the input samples. The expected fraction of the samples they contribute to can thus be used as an estimate of the relative importance of the features.
By averaging those expected activity rates over several randomized trees one can reduce the variance of such an estimate and use it for feature selection.

b)        意思是对每棵树上面的特征所影响的数的数目求一个概率,然后将所有树得到的这些特征求一个平均值。比如一棵树的某个特征下有1000个样本,这个树共有2000样本,在这棵树上的特征重要性是1000/2000=0.5.

3.        特征提取算法比较流行的有:基于启发式规则的方法、主成分分析(PCA)、独立元分析(ICA)、基于K-L变换、弹性图匹配等。

4.        随机森林介绍

随机森林是一种统计学习理论,其随机有两个方面:首先在训练的每一轮中,都是对原始样本集有放回的抽取固定数目的样本点,形成k 个互不相同的样本集。第二个点是:对于每一个决策树的建立是从总的属性中随机抽取一定量的属性作为分裂属性集,这样对于k个树分类器均是不相同的。由随机生成的k个决策树组成了随机森林。

对于每一个决策树来说,其分裂属性是不断地选取具有最大信息增益的属性进行排列。整个随机森林建立后,最终的分类标准采用投票机制得到可能性最高的结果。

5.        优缺点分析

大量的理论和实证研究都证明了RF具有很高的预测准确率,对异常值和噪声有很好的容忍度,且不容易出现过拟合。可以说,RF是一种自然的非线性建模工具,是目前数据挖掘算法最热门的前沿研究领域之一。具体来说,它有以下优点:

a)        通过对许多分类器进行组合,它可以产生高准确度的分类器;

b)        他可以处理大量的输入变量

c)        他可以在决定类别时,评估变量的重要性

d)        在建造森林时,它可以在内部对于一般化后的误差产生不偏差的估计

e)        它包含一个好方法可以估计遗失的资料,并且如果有很大一部分资料遗失,仍可以维持准确度。

f)         提供一个实验方法,可以去侦测变量之间的相互作用

g)        学习过程是很快速的

h)        对异常值和噪声具有很好的容忍度,且不容易出现过拟合

随机森林的缺点:

a)        对于有不同级别属性的数据,级别划分较多的属性会对随机森林产生更大的影响,所以随机森林在这种数据上产出的属性权值是不可信的

b)        单棵决策树的预测效果很差:由于随意选择属性,使得单棵决策树的预测效果很差

6.        决策树

a)        决策树就是实例属性值约束的合取的析取式。从树根到树叶的每一条路径对应一组属性测试的合取,树本身对应这些合取的析取。

b)        决策树建立时,使用统计测试来确定每一个实例属性单独分类训练样例的能力,在每个节点选取能最好的分类样例的属性,且从不回溯重新考虑以前的选择。因此,决策树学习是一个自顶向下的贪婪搜索算法。

c)        每一步都使用统计测试使决策树学习对错误有很好的健壮性。

d)        奥坎姆剃刀:优先选择拟合数据的最简单假设。

 

7.        晚上完成决策树时间复杂度的证明

 

遇到问题:

下面两句话到底是什么意思?如何做到的

a)        它包含一个好方法可以估计遗失的资料,并且如果有很大一部分资料遗失,仍可以维持准确度。

b)        提供一个实验方法,可以去侦测变量之间的相互作用

 

明日计划:

1.      找到随机森林的代码,马上开始写代码的工作

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个简单的基于Transformer算法的代码示例,可以用来预测SNumber。 ```python import pandas as pd import numpy as np import matplotlib.pyplot as plt from sklearn.preprocessing import StandardScaler from sklearn.model_selection import train_test_split from tensorflow.keras.models import Model from tensorflow.keras.layers import Input, Dense, Dropout, LayerNormalization, MultiHeadAttention, TimeDistributed, concatenate # 加载数据 data = pd.read_csv('data.csv') X = data.drop(['SNumber'], axis='columns') y = data['SNumber'] # 标准化输入特征 scaler = StandardScaler() X = scaler.fit_transform(X) # 划分训练集和测试集 X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, shuffle=False) # 构建Transformer模型 def transformer_model(input_shape): inputs = Input(shape=input_shape) x = Dense(64, activation='relu')(inputs) x = LayerNormalization()(x) x = Dropout(0.2)(x) x = Dense(32, activation='relu')(x) x = LayerNormalization()(x) x = Dropout(0.2)(x) x = Dense(1)(x) model = Model(inputs=inputs, outputs=x) return model # 训练模型 model = transformer_model((X_train.shape[1],)) model.compile(optimizer='adam', loss='mean_squared_error') model.fit(X_train, y_train, epochs=100, batch_size=16, validation_data=(X_test, y_test)) # 预测结果 y_pred = model.predict(X_test) # 可视化预测结果 plt.plot(y_test.values, label='True') plt.plot(y_pred, label='Predicted') plt.legend() plt.show() ``` 需要注意的是,这只是一个简单的示例,实际上可能需要进行更多的特征工程和调整模型参数来获得更好的预测结果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值