机器学习3h

机器学习简介

机器学习概括

机器学习模型 有监督模型(单模型 线性模型 kmeans 决策树 神经网络 支持向量机) 无监督模型(聚类 降维) 概率模型 (EM MCMC 贝叶斯 )

机器学习分类

监督学习

分类 回归

无监督学习

聚类 降维

机器学习的方法和流程

模型机器学习首先考虑使用什么模型

模型分为概率模型和非概率模型

概率模型:决策树 朴素贝叶斯

非概率模型:感知机 支持向量机 Kmeans 神经网络

按判别函数的线性与否分为 线性模型 和 非线性模型

线性模型 :感知机 线性支持向量机 Kmeans

非线性模型 : 核支持向量机 神经网络

损失函数

模型预测出来的 和真实的 有差距 用一个函数来计算这种差异

0-1损失函数

平方损失函数

这个对损失更敏感

绝对损失函数

优化算法

算法是指模型学习中具体计算方法 解决问题的过程

基于参数模型构建的统计学习问题 都是最优化问题

现有的优化方法 主要有

梯度下降法

牛顿法

拟牛顿法

等等

模型评估指标

准确率

预测正确的样本占样本总数

开发流程

你在算法进行学习以得到模型这一步时,只需要提供 train.txttrain.txt 包含训练数据,用于训练模型。

test.txt 一般用于模型评估步骤。训练完成后,你可以使用 test.txt 来评估模型的性能,检查模型在未见过的数据上的表现。

总结:

  • 训练模型:使用 train.txt
  • 评估模型:使用 test.txt

逻辑回归

逻辑回归 logistic回归分析 其实是对数几率回归 一种广义的线性回归分析模型 属于机器学习

其推导过程和计算方式类似 回归的过程

实际上主要用于解决 二分类 或者多分类问题 通过给定的n组数据 训练模型 在训练结束后对给定的一组或多组数据 进行分类 其中每组数据都是由p个指标构成

线性回归

最小二乘法 点稍微多一点就不能用手算

算法思想是 最后得到的是一根直线,就有k和b两个参数;要得到两个方程来解这两个参数

怎么来方程?

首先先得到一个等式。S(误差)=((每个点到预测点的距离的差值)的平方)再求个和

我们显然是要S最小,利用数学上的导数。

右边的方程是两个参数 ,一个k一个b

我们分别对k求偏导

对b求偏导

还是利用数学知识,找最值问题。高中知识不能再多了 函数单调增减性+导数正负与其的关系 可以很容易知道要令偏导为0 然后干上去即可

分类问题

这是二分类 下图

这是多分类 下图

逻辑回归模型(对数几率回归

对数几率回归模型 模型怎么用 模型怎么得

1. 学习模型怎么用

对数几率回归模型用于二分类问题,通过以下步骤进行预测:

  1. 定义模型: 对数几率回归模型的形式为: σ(z)=11+ez 其中,z=β0+β1x1+β2x2++βnxn
  2. 计算预测值: 对于给定的输入特征 x,计算 z 值: z=β0+β1x1+β2x2++βnxn
  3. 映射到概率值: 使用 sigmoid 函数将 z 映射到 0 到 1 之间的概率值: σ(z)=11+ez
  4. 分类判定: 根据概率值进行分类:
    • 如果概率值大于等于 0.5,则预测为正类(1)。
    • 如果概率值小于 0.5,则预测为负类(0)。

2. 学习模型怎么得到

对数几率回归模型通过最大化似然函数来训练模型参数,具体步骤如下:

  1. 定义似然函数: 对于给定的训练数据集,定义似然函数为: L(β)=i=1mσ(zi)yi(1σ(zi))1yi 其中,m 是样本数量,yi 是第 i 个样本的实际标签。
  2. 对数似然函数: 为了简化计算,取对数似然函数: (β)=i=1m[yilog(σ(zi))+(1yi)log(1σ(zi))]
  3. 梯度下降: 通过梯度下降法最大化对数似然函数,更新模型参数: βj:=βj+α(β)βj 其中,α 是学习率,(β)βj 是对数似然函数关于参数 βj 的偏导数。

解决多分类问题

对于多分类问题,可以使用以下两种方法:

  1. 一对多(One-vs-Rest, OvR): 将多分类问题转化为多个二分类问题。对于每个类别,训练一个二分类模型,将该类别作为正类,其他类别作为负类。最终的预测结果是所有模型中概率最大的类别。
  2. 多项逻辑回归(Softmax 回归): 直接扩展逻辑回归模型,使其能够处理多分类问题。模型形式为: P(y=kx)=ezkj=1Kezj 其中,zk=βk0+βk1x1+βk2x2++βknxnK 是类别数量。损失函数: 使用交叉熵损失函数来训练模型参数: J(β)=1mi=1mk=1Kyiklog(P(y=kxi)) 其中,yik 是第 i 个样本属于第 k 类的指示函数。

通过以上方法,可以训练对数几率回归模型来解决二分类和多分类问题。


逻辑回归优点

简单高效

以概率形式输出

逻辑回归缺点

共线性敏感 自变量若存在高度自相关 则可能导致估计的误差膨胀 所以需要进行共线性检验

容易欠拟合 大多数时候需要手动进行特征工程 构建组合特征 分类精度可能不高

本质上是线性分类器 处理不好特征之间相关的情况

对于二分类问题 输入一个标量 且设置样本基础标签值为1或0 能否直接得到样本属于分类1的概率值?

构造函数 Sigmoid

要让数据经过模型后 更接近1 判定为正样本 或者更接近0 判定为负样本

决策树

决策树模型

模型原理

非参数 监督学习方法 对训练集学习 挖掘出一定规则用于对新的数据集进行预测

构建决策树的目的是为了使得分支节点所包含 的 样本 尽可能 属于同一类别

模型原理

优点

快 准确性高 可处理连续字段和种类 不需要任何领域知识和参数假设 适合高维数据

缺点

容易过拟合 忽略属性之间相关性 各类别样本数量不一致的数据 ,特征选择偏向于取值较多的特征

决策树算法

信息增益 信息增益率 基尼系数

通过特征选择 选择最佳特征 从根节点开始 递归产生决策树 不断选取局部(有可能整个算法就是局部的)最优特征 将训练集分割成能够正确分类的子集

基于信息增益的ID3算法 分类算法

信息增益使用了信息理论中的熵的概念;是用来衡量信息的不确定性或混乱程度的度量。信息增益通过计算在某个特征上的熵减少量来衡量该特征对分类的贡献。具体来说,信息增益是划分数据集前后的熵差值。

决策树算法中基于信息增益的ID3算法!!!

ID3算法的不足?

为解决这个缺点

C4.5-信息增益率

CART分类 -Gini指数!!!

例题

集成学习算法

集成学习

随机森林

GBDT

XGBoost

支持向量机

训练集 每个实例被标记为属于两个类别中之一 SVM训练算法建立一个模型 来将新实例分配给它们

将实例映射为空间中的某点 可以实现非线性分类 将输入

支持向量机简介

线性可分支持向量机

非线性支持向量机

聚类

聚类

同质 互斥 完备

层次聚类

层次聚类 谱系图便是如此来的

两个特征

用欧氏距离 两点之间距离公式 欧几里得度量 m维度空间中两点的距离

K-means聚类

动态聚类算法 无监督 的分类算法

对于大数据 数据量越大优势越大

伸缩性好

缺点是 要事先确定簇的个数 对初始聚类中心敏感 经常以局部最优结束 同时对噪声点和孤立点敏感

特征工程和指标

特征工程概念

特征工程构建

最大最小归一化

Z-core (x-average)/sigma

z-Score之后的数据变成

均值为0 、 标准差为1 的分布

一般用于 在建立分类模型的时候 将连续变量离散化 特征离散化后 模型会更稳定 降低了模型过拟合的风险

混淆矩阵

模型评估指标

准确度是预测对的除以总的

精确度 评判模型犯错的可能性 高精确代表不十拿九稳不选择

预测对了且为正/预测为正例的

召回率 评判模型能否尽量找全正例 高召回率代表宁可误杀也不放过一个

预测对了且为正/所有正

本技术内容仅供学习和交流使用,如有疑问请联系qq2014160588并注明来意。请确保在使用过程中遵守相关法律法规。任何因使用本技术内容而导致的直接或间接损失,作者概不负责。用户需自行承担因使用本技术内容而产生的所有风险和责任。请勿将本技术内容用于任何非法用途。
上一篇
下一篇