一、说在前面
今天开始第一节数据酷客的学习,进行机器学习的入门,机器能学习吗?
二、笔记
机器学习方法的分类
有监督学习
数据集中的样本带有标签,有明确目标
回归和分类
目标:找到样本到标签的最佳映射 y=f(x) 找到这个f
应用场景:垃圾邮件分类、病理切片分类、客户流失预警、客户风险评估、房价预测等
典型方法
回归模型:线性回归、岭回归、LASSO和回归样条等
分类模型:逻辑回归、K近邻、决策树、支持向量机等
无监督学习(根据数据本身的分布特点,挖掘反映数据的内在特性)
数据集中的样本没有标签,没有明确目标
聚类、降维、排序、密度估计、关联规则挖掘
聚类:将数据集中相似的样本进行分类,使得:
同一组对象之间尽可能相似;
不同组的对象之间尽可能不相似。
应用场景:
基因表达水平聚类:基因表达水平聚类∶根据不同基因表达的时序特征进行聚类,得到基因表达处于信号通路上游还是下游的信息
篮球运动员划分:篮球运动员划分∶根据球员相关数据,将其划分到不同类型(或者不同等级)的运动员阵营中
客户分析:把客户细分成不同客户群,每个客户群有相似行为,做到精准营销
电信客户分析(K-means)
K-means
(1)选择K个点作为初始质心
(2)Repeat:将每一个点指派到最近的质心,形成K个簇,重新计算每一个簇的质心
(3)直到质心不发生变化
强化学习
指挥决策的过程,通过过程模拟和观察来不断学习、提高决策能力
例如:AlphaGo
基本概念
agent:智能体(学习的对象)
environment:环境(和agent不断交互)
state:状态(environment对agent的反馈)
action:行动(根据state采取最佳的action)
reward:奖励
机器学习核心概念和一般流程:
数据集:一组样本的集合
样本:数据集的一行。一个样本包含一个或多个特征,此外还可能包含一个标签
特征:数据集的一列。在进行预测时的输入变量
以有监督学习为例:
有监督学习的数据集还分
训练集:用于训练模型的数据集
测试集:用于测试模型的数据集
模型:建立数据的输入x和输出y之间的映射关系 y=f(x)
损失函数: L(yi,f(xi)),用来制定一个学习目标
优化目标:对损失函数的最小化,最优化的问题
模型过于复杂(过度拟合):例如参数过多,导致所选模型对已知数据预测得很好,但对未知数据预测很差
正则化:
模型的选择:
交叉验证(数据集不太大):基本想法是重复地使用数据。将数据集随机切分,将切分的数据集组合为训练集和测试集,在此基础上反复进行训练,测试和模型选择。
K折交叉验证:随机地将数据切分为K个子集,每次利用k-1个子集的数据训练模型,余下的数据测试模型,最后选择在k次测评中平均性能最好的模型。
机器学习中的数学结构
数据也是有数据结构的,没有数据结构便无法处理数据
度量结构︰表示数据之间的距离。
网络结构︰有些数据本身就有网络结构,如社交网络。如果没有,可以利用度重结构给数据附加一个网络结构。
代数结构︰将数据看作向量、矩阵或更高阶的张量。tensorflow
几何结构︰流形、对称性等
度量结构与K近邻算法
文本处理为例:
计算两篇文章的距离,相似度:以字典上所有的词作为坐标,对应的文章中词频作为坐标值,便可以将文章表示为向量,使用余弦相似度来计算文章的距离
K近邻:当对测试样本进行分类时,找到训练集中与该样本集最相似的k个样本,根据k个样本的标签确定测试样本的标签。k的选择很重要,k不同可能会影响预测结果
提高计算速度:最常用的数据结构为k-d数,是二叉搜索树在多维空间上的扩展。
网络结构与PageRank算法
有了数据的度量结构,可以很容易定义一个网络结构。网络表示为G=<V,E>,V表示节点,E表示边。
例如两个样本的距离校宇某个阈值,就连一条边,也可以进一步将边赋予权重。
PageRank:
实践案例
案例1:使用KNN对新闻主题进行自动分类
案例2:使用PageRank对全球机场进行排序
实践工具
jieba
sklearn
pandas
matplotlib
networkx
三、体会
通过第一节课的学习我学习到了一些关于机器学习的基础知识,但是其中内部的实现还不了解,就像笔记中对老师的案例讲解和使用的工具根本不明白,先留下空缺,待之后的学习来填补空白。