保研面试--机器学习

回归算法
回归算法实际上是一个迭代算法。


衡量的是1-我们的模型没有被捕获到的信息量占真实标签中所带的信息量的比例。R²越接近于1越好。

训练好的模型在测试集和训练集上表现的都非常不好——欠拟合

欠拟合

  • 原因:模型学习到的样本特征太少
  • 解决:增加样本的特征数量(多项式回归)

过拟合

  • 原因:原始特征过多,存在一些嘈杂特征
  • 解决:进行特征选择,消除关联性大的特征(很难做)
  • 正则化之岭回归

线性回归也可以回归出一条曲线
因为特征和目标之间的关系不仅仅是线性关系
用多项式回归处理模型欠拟合

pl = PolynomialFeatures(degree=2)
pl_x_train = pl.fit_transform(x_train)
pl_x_test = pl.fit_transform(x_test)

linear = LinerRegression()
linear.fit(pl_x_train,y_train)

MSE(y_test,linear.predict(pl_x_test))

过拟合处理:正则化
过拟合曲线的凹凸是由特征的高次项决定的,如果把高次项的特征的权重w调小接近于0,那么高次项的特征影响就小了,凹凸幅度也减少了

L2正则化

  • 使用带有正则化算法的回归模型(Ridge岭回归)处理过拟合问题

模型的保存与加载

import joblib
joblib.dump(linear,'./123.m')
joblib.load('./123.m')

联合概率
包含多个条件,且所有条件同时成立的概率
P(A,B) = P(A)P(B)

条件概率
P(A|B) = 事件A在另外一个事件B已经发生条件下的发生概率
特性:P(A1,A2|B) = P(A1|B)P(A2|B) 次条件概率的成立,是由于A1,A2相互独立的结果。
上述的求概率公式只适用于各个特征之间条件独立的
条件不独立是指特征之间有关联,体重和是否喜欢吃零食这两个条件之间就有关联。
朴素贝叶斯被广泛地适用于文档分类

sklearn提供了三种不同类型的贝叶斯模型算法

  • 高斯模型
  • 多项式模型
  • 伯努利模型

高斯分布
高斯分布也就是正态分布,是一种连续型变量的概率分布。
高斯分布就是当频率直方图的区间变得特别小的时候的拟合曲线
像座小山峰,两端特别小,越往中间越高。
可以求解分到每一个类别的概率是多少

多项式模型
与高斯分布相反,多项式模型主要适用于离散特征的概率计算,且sklearn的多项式模型不接受输入负值。
多项式不接受负值的输入,所要进行归一化处理保证特征数据中无负值出现。

朴素贝叶斯算法公式
P(C|W) = (P(W/C)P©)/P(W)
P(C|F1,F2…) = (P(F1,F2,…|C)P©)/P(F1,F2,…)

sklearn文本特征提取–TfidVectorizer
TF-IDF
TF:词频统计,一个词在文档中出现的次数/文档的总数Ni/N
IDF:逆向文章频率。有些词在文本中频繁出现,但并不重要,信息量小,比如is ,that,of单词,所以可以降低这些词的权重,

模型只能计算数值型数据,如果遇到非数值型数据,一定要进行特征工程进行转换

fit_transform
fit_transform():做了两件事,找到数据规则,并将数据标准化
transform():只将数据进行转换。
数据的归一化和标准化,将测试数据按照训练数据同样的模型进行转换,得到特征向量。不能再使用fit,否则两次标准化后的数据格式就不一样了。

伯努利模型
多项式朴素贝叶斯可以同时处理二项分布(抛硬币)和多项分布(掷骰子),其中二项分布又叫做伯努利分布。所以自然有处理二项分布的朴素贝叶斯:伯努利朴素贝叶斯。
与多项式模型一样,伯努利模型适用于离散特征的情况,不同的是:数据集中可以存在多个特征,但每个特征都是二分类的,伯努利模型中每个特征的取值只能是1和0(以文本分类为例,某个单词在文档中出现过,其特征值为1,否则为0),伯努利模型要比MultinomialNB多定义一个二值化的方法,该方法会接受一个阈值并将输入的特征二值化(1,0)。

逻辑回归
逻辑回归是处理分类问题的。
回归模型实现分类效果:sigmoid()函数,将回归模型返回的任意值压缩到0到1之间,实现二分类。
引入sigmoid函数,将线性回归方程z变换为g(z),并且将g(z)的值分布在(0,1)之间,且当g(z)接近于0时样本的标签为类别0,当g(z)接近1时样本的标签为类别1。
g(z) = 1/(1+e^(-z))
e:自然对数的底数,是一个无限不循环小数,其值是2.71828
函数解释:
sigmoid函数是一个S型的函数,当z值趋近于正无穷时,gz(z)趋近于1,当z值趋近于负无穷时,g(z)趋近于0,他能够实现任何实数映射到(0,1)区间,所以Sigmoid函数也可以被当做是一种归一化的方法,与MinMaxScaler同理,属于数据预处理中的缩放。
MinMaxScaler归一化后,可以取到0和1,最大值归一化后就是1,最小值归一化后就是0.
但Sigmoid函数只是无限趋近于0和1。
形式几率:y(x)/(1-y(x)),在此基础上取对数,就等于θ转置x
所以,y(x)逻辑回归的形式几率取对数的本质就是线性回归z
逻辑回归是由线性回归变化而来的
逻辑回归返回的结果就是分到正样本所对应的概率

逻辑回归优点

  • 逻辑回归对线性关系的分类效果非常好,决策边界可以用一条直线表示。
  • 计算快
  • 返回的结果不是单纯的0,1,是分到正样本的概率

逻辑回归的损失函数——对数似然损失函数

梯度下降
求解能够让损失函数J(θ)最小化的θ值

正则化
防止模型过拟合
常用的有L1正则化和L2正则化,分别通过在损失函数后加上参数向量θ的L1范式和L2范式的倍数来实现,这个增加的范式,被称为“正则项”,也被称为“惩罚项”
L1范式
L1范式表现为参数向量θ中的每个参数的绝对值之和
L2范式
L2范式表现为参数向量中的每个参数的平方和的开方值
截距不用参加正则化
L1会将参数压缩到0,L2会将参数压缩接近于0
如果只是为了防止过拟合,选择L2正则化就足够了,但是如果选择L2正则化后还是过拟合,就可以考虑L1正则化

逻辑回归中重要的参数
C:惩罚项,C值越小,惩罚力度越大。

你可能感兴趣的:(sklearn,机器学习,python)