博舍

机器学习概括 人工智能具体例子简短概括

机器学习概括

机器学习步骤1.原始数据2.数据的基本处理3.特征工程

原始数据-->特征

1.特征抽取

文本-->序列(特征值化)

对数值型的数据可以使用

(1)归一化:x-min/max-min

归一化的目的:使每个特征的权重相同,不会因为特征数值的数量级影响

缺点:容易受到异常值的影响(最大值和最小值之间的差距过于离谱),系统的鲁棒性差

(2)标准化:x-mean/标准差

将原始数据变化到均值为0,方差为1的范围内,少量异常值的影响不大

(3)补齐缺省值

可以采用直接删除,或者插补平均值(中值)

对于类别型的数据可以采用

one-hot:避免不同类别之间的相互联系

2.特征降维

(1)特征选择

对于冗余的特征可以采用filter(方差,阈值),embedded,wrapper进行选择

(2)主成分分析

使用PCA进行数据的简化

API:

fromsklearn.decompositionimportPCA

pca=PCA(n_components=0.9)

data=pca.fit_transform(原数据)

n_components:超参数一般取0.9-0.95

4.采用合适的算法去预测5.评估1.感知机首先感知机要解决什么问题?他的形式是什么样的

感知机根据图像理解,无非就是根据输入数据划一条直线将数据进行分类

现在输入的是二维数据(身高,体重),所以只在二维平面上划一条直线,就可以将类别进行区分。如果输入再加上一个维度,那就在三维划一个平面进行区分不同类别

好,总结一下

感知机就是根据输入的n维数据,划一个(n-1)维的平面将数据的类别进行区分,当然他只能进行二分类,而且只能区分出线性可分的类别

现在明白了要解决的问题,再推断下他的形式是什么样的

先从最简单的二维平面进行入手,划一条直线嘛

再根据直线对数据进行二分类,那就直接将数据和直线比大小不就行了

不过这里有个问题,为了更加直观的分类我们对公式进行变形下

,再进一步转化

现在我们得到了我们想要的分界线,想要分类只需要对分界线比较就可以了,我们可以借助sign函数

感知机算法

输入:训练数据集

           其中,,

输出:

1.选择初值

2.输入数据

3.损失函数:

        如果

           -->   

            -->    

2.K-近邻

相似的样本特征值应该相似,需要进行数据归一化

就是计算各个特征值之间的具体嘛,那这个距离怎么求?

欧式距离:

K值:近邻的点数

K值取很小:容易受到异常点的影响

K值取很大:受K值波动

这个方法基本不用,缺点比较大

3.朴素贝叶斯

适用于文本分类

p(类别|特征)=p(c|w),求出现某特征时为某类别的该概率

 这不就是最大后验

转化为文字表达:

 转化为根据文档中的特征求类别:

若是p(c|F1,F2,...,Fn)=0,怎么处理

 首先弄明白为什么会出现这种情况

p(c|F1,F2,...,Fn)=0意味着朴素贝叶斯中分子为0:

即p(F1,F2,...,Fn|c)或者p(c)=0,p(c)=0肯定不成立,类别的概率都是0了还算这个类别的概率干嘛所以只能p(F1,F2,...,Fn|c)=0,先复习下基础知识

朴素贝叶斯朴素假定特征与特征之间相互独立;概率论:P(F1,F2|c)=P(F1|c)P(F2|c)

所以p(F1,F2,...,Fn|c)=0又分为两种情况:

1.在类别c中确实没有F1,F2,...,Fn这些特征,就好像在英文文献中确实没有中文,F1,F2,...,Fn都代表中文特征

2.在类别c中确实没有F1特征,有F2,...,Fn这些特征。但是由于p(F1|c)=0所以p(F1,F2,...,Fn|c)=0,举个例子:在训练时中文文献中都没有英文特征词F1,但是测试集中有篇中文文献出现了一个英文特征词,但是由于p(F1|c)=0,所以p(F1,F2,...,Fn|c)=p(F1|c)*p(F2|c)*...*p(Fn|c)=0。所以就出现了因为有一个英文特征词的出现,他判定这篇文献属于中文文献的概率为0。

那这样模型的容错率也太低了。也就是说,当有一个特征在所求类别中没有出现过,模型给出的结果就是概率为0。

那肯定不能这么整啊,朴素贝叶斯这样就废了啊。那要怎么解决这个问题呢

既然没有,那就强迫他有,让他输出不为0,为一个极小数

利用拉普拉斯平滑解决这个问题: 

 利用代码调用:

sklearn.navie_bayes.MultinomialNB(alpha=1.0)

朴素贝叶斯的缺点:

 1.假设特征之间相互独立

2.依赖先验概率,要求p(c)的准确性

4.决策树

相当于不断进行判断的二叉树

通过属性去构建节点

1.二元属性 

2.多元属性

3.序数属性

从根节点到叶子节点选择属性顺序时的依据是什么呢

用熵或基尼系数进行度量

为啥选择熵或基尼系数

因为当纯度越高的时候,熵或基尼系数越小。在各个不同的属性平均分布时取值最大。

例:当二元属性是否有房的概率各占0.5,p(有)=0.5,P(无)=0.5

则Gini=1-(0.25+0.25)=0.5

当二元属性有房的概率占0.8,p(有)=0.8,P(无)=0.2

则Gini=1-(0.64+0.04)=0.32

若是得到得基尼系数(熵)很小,则是很好的区分属性

下图为Gini系数,熵的图像和Gini系数类似,只不过当x=0.5时,H(x)=1

 为了构建决策树还要了解一下

条件熵:

信息增益(InformationGain):

 理解一下,信息增益IG=熵前-熵后

信息增益率:

就是信息增益/之前的熵

决策树结束拟合条件

1.纯度为1

2.达到最大depth

3.IG太小

4.每个节点分到的sample数目到达阈值

API

 明天再写,23.6.21-23:25

随机森林

并行的多个决策树,最终的结果由众数决定,也就是说最后的结果由各个决策树去投票,看哪个票数多

随机森林建立多个决策树的过程:

有N个样本和M个特征

1.随机在N个样本中选择一个样本重复N次

2.随机在M个特征中选择m个特征(m

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。

上一篇

下一篇