python
a.append(b)
>>> a = [1,2,3]
>>> b = [4,5,6]
>>> a.append(b)
>>> a
[1, 2, 3, [4, 5, 6]]
a.extend(b)
>>> a = [1,2,3]
>>> b = [4,5,6]
>>> a.extend(b)
>>> a
[1, 2, 3, 4, 5, 6]
sklearn
pipeline:管道机制,Python的sklearn.pipeline.Pipeline()函数可以把多个“处理数据的节点”按顺序打包在一起,数据在前一个节点处理之后的结果,转到下一个节点处理。除了最后一个节点外,其他节点都必须实现'fit()'和'transform()'方法, 最后一个节点需要实现fit()方法即可。当训练样本数据送进Pipeline进行处理时, 它会逐个调用节点的fit()和transform()方法,然后点用最后一个节点的fit()方法来拟合数据。
from sklearn.linear_model import LinearRegression
from sklearn.preprocessing import PolynomialFeatures
from sklearn.pipeline import Pipeline
def polynomial_model(degree = 1):
polynomial_features = PolynomialFeatures(degree = degree, include_bias = False)
linear_regression = LinearRegression()
pipeline = Pipeline([('polynomial_features', polynomial_features),
('linear_regression', linear_regression)])
return pipeline
先验概率、后验概率、似然估计
先验概率(由历史求因):根据历史经验确定原因的概率分布,在结果发生前,求解/估计原因。
后验概率(知果求因):预先已知结果,根据结果估计原因的概率分布。
似然估计(由因求果):预先定下原因,根据原因估计结果的概率分布。根据原因来统计各种可能结果的概率即似然函数。
模型参数、模型超参数
模型参数:模型内部的配置变量,其值可以根据数据进行估计。
- 它们的值定义了可使用的模型。
- 模型在进行预测时需要它们。
- 他们是从数据估计或获悉的。
- 它们通常不由编程者手动设置。
- 他们通常被保存为学习模型的一部分。
模型参数的一些示例包括:
- 神经网络中的权重。
- 支持向量机中的支持向量。
- 线性回归或逻辑回归中的系数。
模型超参数: 模型外部的配置,其值无法从数据中估计。
- 它们通常用于帮助估计模型参数。
- 它们通常由人工指定。
- 他们通常可以使用启发式设置。
- 他们经常被调整为给定的预测建模问题。
模型超参数的一些例子包括:
- 训练神经网络的学习速率。
- 用于支持向量机的C和sigma超参数。
- K最近邻的K。
模型是否具有固定或可变数量的参数决定了它是否可以被称为“参数”或“非参数”。总之,模型参数是根据数据自动估算的。但模型超参数是手动设置的,并且在过程中用于帮助估计模型参数。
GBDT和RF的异同点
RF | GBDT | |
优点 | ||
缺点 |
贪心算法/贪婪算法
在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他所做出的是在某种意义上的局部最优解。
贪心算法不是对所有问题都能得到整体最优解,关键是贪心策略的选择,选择的贪心策略必须具备无后效性,即某个状态以前的过程不会影响以后的状态,只与当前状态有关。
奥卡姆剃刀原理
奥卡姆剃刀定律(Occam's Razor, Ockham's Razor)又称“奥康的剃刀”,它是由14世纪英格兰的逻辑学家、圣方济各会修士奥卡姆的威廉(William of Occam,约1285年至1349年)提出。这个原理称为“如无必要,勿增实体”,即“简单有效原理”。正如他在《箴言书注》2卷15题说“切勿浪费较多东西去做,用较少的东西,同样可以做好的事情。”
准确率(Accuracy), 精确率(Precision), 召回率(Recall)和F1-Measure
L1/L2正则化
正向传播、反向传播
词向量
- one-hot:高维灾难,过于稀疏,表达效率不高,one-hot词向量无法表达不同词之间的相似度
- GloVe:Global Vector融合了矩阵分解Latent Semantic Analysis (LSA)的全局统计信息和local context window优势。融入全局的先验统计信息,可以加快模型的训练速度,又可以控制词的相对权重
- word2vec -- 连续词袋模型CBOW(Continuous Bag-of-Words):根据上下文预测中心词,词袋模型不考虑词的先后顺序,只考虑是否出现
- word2vec -- 跳字模型Skip-Gram:根据中心词预测上下文
HMM、CRF
HMM
X是一个时间和状态都是离散随机过程,Xn是n时刻下的状态,如果Xn + 1对于过去状态的条件概率分布仅是Xn的一个函数,即我们通常说的状态仅与上一个状态有关,则该过程是一个一阶马尔科夫过程。公式如下:
P(Xn+1=x∣X0,X1,X2,…,Xn)=P(Xn+1=x∣Xn)
隐马尔可夫模型(Hidden Markov Model,HMM)是统计模型,它用来描述一个含有隐含未知参数的马尔可夫过程。
EM算法
最大似然估计你可以把它看作是一个反推。多数情况下我们是根据已知条件来推算结果,而最大似然估计是已经知道了结果,然后寻求使该结果出现的可能性最大的条件,以此作为估计值。比如,如果其他条件一定的话,抽烟者发生肺癌的危险时不抽烟者的5倍,那么如果现在我已经知道有个人是肺癌,我想问你这个人抽烟还是不抽烟。你怎么判断?你可能对这个人一无所知,你所知道的只有一件事,那就是抽烟更容易发生肺癌,那么你会猜测这个人不抽烟吗?我相信你更有可能会说,这个人抽烟。为什么?这就是“最大可能”,我只能说他“最有可能”是抽烟的,“他是抽烟的”这一估计值才是“最有可能”得到“肺癌”这样的结果。这就是最大似然估计。
归一化、标准化
线性可分、线性不可分、非线性可分
线性可分:用一个线性函数能将两类样本分开 y = θTx
线性不可分:不能用一个线性函数能将两类样本分开