19 机器学习 - Lineage逻辑回归分类算法

简介: 19 机器学习 - Lineage逻辑回归分类算法

1.概述

Lineage逻辑回归是一种简单而又效果不错的分类算法

什么是回归:比如说我们有两类数据,各有50个点组成,当我门把这些点画出来,会有一条线区分这两组数据,我们拟合出这个曲线(因为很有可能是非线性),就是回归。我们通过大量的数据找出这条线,并拟合出这条线的表达式,再有新数据,我们就以这条线为区分来实现分类。

下图是一个数据集的两组数据,中间有一条区分两组数据的线。

2 算法思想

Lineage回归分类算法就是将线性回归应用在分类场景中。

在该场景中,计算结果是要得到对样本数据的分类标签,而不是得到那条回归直线。

2.1 算法图示

1)算法目标()?

大白话:计算各点的y值到拟合线的垂直距离,如果

距离>0, 分为类A

距离<0, 分为类B

2)如何得到拟合线呢?

大白话:只能先假设,因为线或面的函数都可以表达成

y(拟合)=w1x1 + w2x2 + w3*x3 + …

其中的w是待定参数

而x是数据的各维度特征值

因而上述问题就变成了 样本y(x) - y(拟合) >0 ? A : B

3)如何求解出一套最优的w参数呢?

基本思路:代入“先验数据”来逆推求解

但针对不等式求解参数极其困难

通用的解决办法,将对不等式的求解做一个转换:

  1. 将“样本y(x) - y(拟合) ”的差值压缩到一个0~1的小区间,
  2. 然后代入大量的样本特征值,从而得到一系列的输出结果;
  3. 再将这些输出结果跟样本的先验类别比较,并根据比较情况来调整拟合线的参数值,从而是拟合线的参数逼近最优

从而将问题转化为逼近求解的典型数学问题

2.2 sigmoid函数

上述算法思路中,通常使用sigmoid函数作为转换函数

函数表达式:

注:此处的x是向量

函数曲线:

之所以使用sigmoid函数,就是让样本点经过运算后得到的结果限制在0~1之间,压缩数据的巨幅震荡,从而方便得到样本点的分类标签(分类以sigmoid函数的计算结果是否大于0.5为依据)

3 算法实现分析

3.1 实现思路

算法思想的数学表述

  1. 把数据集的特征值设为x1,x2,x3…
  2. 求出它们的回归系数wi
  3. 设z=w1x1+w2x2… ,然后将z值代入sigmoid函数并判断结果,即可得到分类标签

问题在于如何得到一组合适的参数wi?

通过解析的途径很难求解,而通过迭代的方法可以比较便捷地找到最优解

简单来说,就是不断用样本特征值代入算式,计算出结果后跟其实际标签进行比较,根据差值来修正参数,然后再代入新的样本值计算,循环往复,直到无需修正或已到达预设的迭代次数(注:此过程用梯度上升法来实现)。

3.2梯度上升算法

算法中求解的数据理论基础,听起来高大上,数学运算较高级,但定性理解起来其实并不是太难。

通俗解释:通过小步前进——》调整方向——》继续小步前进——》最终逼近最优解

梯度上升是指找到函数增长的方向。在具体实现的过程中,不停地迭代运算直到w的值几乎不再变化为止,如图所示:

目录
相关文章
|
2月前
|
机器学习/深度学习 算法 数据挖掘
K-means聚类算法是机器学习中常用的一种聚类方法,通过将数据集划分为K个簇来简化数据结构
K-means聚类算法是机器学习中常用的一种聚类方法,通过将数据集划分为K个簇来简化数据结构。本文介绍了K-means算法的基本原理,包括初始化、数据点分配与簇中心更新等步骤,以及如何在Python中实现该算法,最后讨论了其优缺点及应用场景。
158 4
|
15天前
|
机器学习/深度学习 人工智能 算法
机器学习算法的优化与改进:提升模型性能的策略与方法
机器学习算法的优化与改进:提升模型性能的策略与方法
111 13
机器学习算法的优化与改进:提升模型性能的策略与方法
|
5天前
|
机器学习/深度学习 算法 网络安全
CCS 2024:如何严格衡量机器学习算法的隐私泄露? ETH有了新发现
在2024年CCS会议上,苏黎世联邦理工学院的研究人员提出,当前对机器学习隐私保护措施的评估可能存在严重误导。研究通过LiRA攻击评估了五种经验性隐私保护措施(HAMP、RelaxLoss、SELENA、DFKD和SSL),发现现有方法忽视最脆弱数据点、使用较弱攻击且未与实际差分隐私基线比较。结果表明这些措施在更强攻击下表现不佳,而强大的差分隐私基线则提供了更好的隐私-效用权衡。
36 14
|
1月前
|
算法
PAI下面的gbdt、xgboost、ps-smart 算法如何优化?
设置gbdt 、xgboost等算法的样本和特征的采样率
54 2
|
2月前
|
机器学习/深度学习 算法 数据挖掘
C语言在机器学习中的应用及其重要性。C语言以其高效性、灵活性和可移植性,适合开发高性能的机器学习算法,尤其在底层算法实现、嵌入式系统和高性能计算中表现突出
本文探讨了C语言在机器学习中的应用及其重要性。C语言以其高效性、灵活性和可移植性,适合开发高性能的机器学习算法,尤其在底层算法实现、嵌入式系统和高性能计算中表现突出。文章还介绍了C语言在知名机器学习库中的作用,以及与Python等语言结合使用的案例,展望了其未来发展的挑战与机遇。
61 1
|
2月前
|
机器学习/深度学习 自然语言处理 算法
深入理解机器学习算法:从线性回归到神经网络
深入理解机器学习算法:从线性回归到神经网络
|
2月前
|
机器学习/深度学习 人工智能 算法
【手写数字识别】Python+深度学习+机器学习+人工智能+TensorFlow+算法模型
手写数字识别系统,使用Python作为主要开发语言,基于深度学习TensorFlow框架,搭建卷积神经网络算法。并通过对数据集进行训练,最后得到一个识别精度较高的模型。并基于Flask框架,开发网页端操作平台,实现用户上传一张图片识别其名称。
124 0
【手写数字识别】Python+深度学习+机器学习+人工智能+TensorFlow+算法模型
|
2月前
|
机器学习/深度学习 算法
深入探索机器学习中的决策树算法
深入探索机器学习中的决策树算法
48 0
|
2月前
|
机器学习/深度学习 算法 Python
机器学习入门:理解并实现K-近邻算法
机器学习入门:理解并实现K-近邻算法
45 0
|
3月前
|
机器学习/深度学习 算法 Java
机器学习、基础算法、python常见面试题必知必答系列大全:(面试问题持续更新)
机器学习、基础算法、python常见面试题必知必答系列大全:(面试问题持续更新)