sklearn、分类、基础——机器学习日记(一)

高效实现算法应用的工具包,从中调用算法

  • 一、scikit-learn (Sklearn)
    • 1.安装SKlearn
    • 2.常用模块与算法选择
  • 二、机器学习的分类
    • 基于学习形式分类
    • 基于目的分类
  • 三、基础算法
  • 四、基础背景

一、scikit-learn (Sklearn)

一个开源的基于python语言的机器学习工具包。它通过NumPy, SciPy和Matplotlib等python数值计算的库实现高效的算法应用。

1.安装SKlearn

(参考于https://www.jianshu.com/p/4e11af8d7c78)
安装最新版本
Scikit-learn需要:
•Python(> = 2.7或> = 3.4),
•NumPy(> = 1.8.2),
•SciPy(> = 0.13.3)

升级scikit-learn:conda update scikit-learn
卸载scikit-learn:conda remove scikit-learn
使用pip install -U scikit-learn安装或者使用pip uninstall scikit-learn卸载可能都没有办法更改有conda命令安装的sklearn

2.常用模块与算法选择

分类、回归、聚类、降维、模型选择、预处理
1、分类:识别某个对象属于哪个类别,常用的算法有:SVM(支持向量机)、nearest neighbors(最近邻)、random forest(随机森林),常见的应用有:垃圾邮件识别、图像识别。

2、回归:预测与对象相关联的连续值属性,常见的算法有:SVR(支持向量机)、 ridge regression(岭回归)、Lasso,常见的应用有:药物反应,预测股价。

3、聚类:将相似对象自动分组,常用的算法有:k-Means、 spectral clustering、mean-shift,常见的应用有:客户细分,分组实验结果。

4、降维:减少要考虑的随机变量的数量,常见的算法有:PCA(主成分分析)、feature selection(特征选择)、non-negative matrix factorization(非负矩阵分解),常见的应用有:可视化,提高效率。

5、模型选择:比较,验证,选择参数和模型,常用的模块有:grid search(网格搜索)、cross validation(交叉验证)、 metrics(度量)。它的目标是通过参数调整提高精度。

6、预处理:特征提取和归一化,常用的模块有:preprocessing,feature extraction,常见的应用有:把输入数据(如文本)转换为机器学习算法可用的数据。
sklearn、分类、基础——机器学习日记(一)_第1张图片

二、机器学习的分类

基于学习形式分类

  1. 监督学习
    两种类型的目标变量 :标称型(也叫离散型,只能从有限集中取)和数值型(也叫连续型,主要用于回归分析,可以从无限数值集取)。
    有监督学习根据生成模型的方式又可分为判别式模型生成式模型

1.1 判别式模型:直接对条件概率p(y|x)进行建模,常见判别模型有线性回归、决策树、支持向量机SVM、k近邻、神经网络等;

1.2 生成式模型:对联合分布概率p(x,y)进行建模,常见生成式模型有隐马尔可夫模型HMM、朴素贝叶斯模型、高斯混合模型GMM、LDA等。

差别
判别式模型更直接,目标性更强;
生成式模型更普适。

判别式模型关注的数据的差异性,寻找的是分类面;
生成式模型关注数据是如何产生的,寻找的是数据分布模型。

由生成式模型可以产生判别式模型,但是由判别式模式没法形成生成式模型。

  1. 非监督学习
    在非监督的学习过程中,数据并不被特别标识,学习模型是为了推断出数据的一些内在结构。

无监督学习试图学习或者提取数据背后的数据特征,或者从数据中抽取出重要的特征信息,常见的算法有聚类、降维、文本处理(特征抽取)等。

无监督学习一般是作为监督学习的前期数据处理,功能是从原始数据中抽取出必要的标签信息。

  1. 半监督学习
    如何利用少量的标注样本和大量的未标注样本进行训练和分类的问题,是有监督学习和无监督学习的结合。

半监督学习对于减少标注代价,提高学习机器性能具有非常重大的实际意义。
缺点:抗干扰能力弱,仅适合于实验室环境,其现实意义还没有体现出来;未来的发展主要是聚焦于新模型假设的产生。

基于目的分类

  1. 分类模型
    将样本数据集中的样本映射到某个给定的类别中
  2. 聚类模型
    将样本数据集中的样本分为几个类别,属于同一类别的样本相似性比较大
  3. 回归模型
    反映了样本数据集中样本的属性值的特性,通过函数表达样本映射的关系来发现属性值之间的依赖关系
  4. 关联规则模型
    获取隐藏在数据项之间的关联或相互关系,即可以根据一个数据项的出现推导出其他数据项的出现频率。

分类和回归属于有监督学习,而聚类和关联规则属于无监督学习

回归与分类的不同,就在于其目标变量是否为连续数值型,回归则连续。
聚类就是将相似项聚团,关联分析可以用于回答“哪些物品经常被同时购买?”之类的问题。

三、基础算法

算法名称 算法描述
C4.5 分类决策树算法,决策树的核心算法,ID3算法的改进算法
CART 分类与回归树(Classification and Regression Trees),决策树的变种,可做回归
kNN K近邻分类算法;如果一个样本在特征空间中的k个最相似的样本中大多数属于某一个类别,那么该样本也属于该类别。简单来说就是:近朱者赤,近墨者黑
NaiveBayes 贝叶斯分类模型;一般用于文本数据,要求属性(特征)间相关性小,如果相关性大的话,用决策树更好(原因:贝叶斯模型假设属性之间是互不影响的)
SVM 支持向量机,一种有监督学习的统计学习方法,广泛应用于统计分类和回归分析中
EM 最大期望算法,常用于机器学习和计算机视觉中的数据集聚领域
Apriori 关联规则挖掘算法
K-Means 聚类算法,是最大似然估计上的一个提升,功能是将n个对象根据属性特征分为k个分割(k
PageRank Google搜索重要算法之一,其实和机器学习关系不是很大
AdaBoost 迭代算法;利用多个分类器进行数据分类

说明
以上十个是基础,更基础的是线性回归。

SVM转换一下就是感知器,感知器变换一下就是逻辑回归,逻辑回归再变换一下就是线性回归。

深度学习最基础的是神经网络,神经网络最基础的是神经元,神经元就是感知器。深度学习的总体思想和AdaBoost类似。

HMM 和EM有些相似

四、基础背景

1.术语

拟合:构建的算法符合给定数据的特征
鲁棒性:也就是健壮性、稳健性、强健性,是系统的健壮性;当存在异常数据的时候,算法也会拟合数据
过拟合:算法太符合样本数据的特征,对于实际生产中的数据特征无法拟合
欠拟合:算法不太符合样本的数据特征

三种数据形式:标量、向量、矩阵
sklearn、分类、基础——机器学习日记(一)_第2张图片

x(i):表示第 i 个样本的 x 向量;

xi:x 向量的第i维度的值。

2.关系
(1) 数据分析、数据挖掘、机器学习

数据分析:是指用适当的统计分析方法对收集的大量数据进行分析,并提取有用的信息,以及形成结论,从而对数据进行详细的研究和概括过程。在实际工作中,数据分析可帮助人们做出判断;数据分析一般而言可以分为统计分析、探索性数据分析和验证性数据分析三大类。简单来说:有目的性,特别明确

数据挖掘:一般指从大量的数据中通过算法搜索隐藏于其中的信息的过程。通常通过统计、检索、机器学习、模式匹配等诸多方法来实现这个过程。简单来说:面对大量数据,不知有什么信息,没什么方向目的

机器学习:是数据分析和数据挖掘的一种比较常用、比较好的手段

(2) 人工智能、机器学习、深度学习
sklearn、分类、基础——机器学习日记(一)_第3张图片
3.
人工智能领域有三大学派:符号主义,连接主义,行为主义
1)符号主义 认为智能的基本元是符号,智能活动是符号推理或符号计算过程,人脑在本质上就是一个物理符号系统,这种方式注重于模拟人的思维方式。
2)连接主义 连接主义认为智能的基本单元为神经元,智能活动是神经元之间连接活动过程,这种方式注重于模拟人的生理结构,基于连接主义发展而来的机器学习方式被称为连接学习方式。
这种模型为深层神经网络的学习方式被称为深度学习,即深度学习为连接学习的一个分支。
3)统计学习基于大量数据进行统计分析学习,由符号学习发展而来,根据符号学习的学习策略可将其分为记忆学习、演绎学习和归纳学习三种方式。
sklearn、分类、基础——机器学习日记(一)_第4张图片

last李开复教授的文章:
http://blog.sina.com.cn/s/blog_475b3d560102xeoj.html?tj=1

你可能感兴趣的:(人工智能,机器学习,机器学习)