1、机器学习算法简介2 j, b2 u9 e0 P% D' E# z! {
机器学习算法是一种基于数据和经验的算法,通过对大量数据的学习和分析,自动发现数据中的模式、规律和关联,并利用这些模式和规律来进行预测、分类或优化等任务。机器学习算法的目标是从数据中提取有用的信息和知识,并将其应用于新的未知数据中。) m ^* y3 R" J# i, Z
3 N/ Y9 S- u4 N1 n- h$ |. | v . P9 w% F& |' J1.1 机器学习算法包含的两个步骤& `( x% X: v/ }
机器学习算法通常包括两个主要步骤:训练和预测。在训练阶段,算法使用一部分已知数据(训练数据集)来学习模型或函数的参数,以使其能够对未知数据做出准确的预测或分类。在预测阶段,算法将学习到的模型应用于新的数据,通过模型对数据进行预测、分类或其他任务。5 C* P% S. f4 X% i
" g0 n/ m% ?8 T& w强化学习算法:强化学习算法通过与环境进行交互,试图找到最优策略来最大化奖励。常用的强化学习算法包括:Q学习、深度强化学习算法等。 . i0 R2 N" n9 z0 z7 Y s$ x5 K; u( D$ h
此外,还有一些常用的机器学习算法和技术,如集成学习、降维方法、深度学习、迁移学习、半监督学习等,它们通过不同的方式和建模方法来解决不同的问题。选择合适的机器学习算法需要考虑问题的性质、数据的特点、算法的可解释性和计算效率等因素。 $ A2 S7 t, Y0 e$ O8 H / @' L9 m# m) M4 v M2、线性回归算法' F& h+ a4 a0 ?* S
线性回归是一种统计方法,用于检查两个连续变量之间的关系:一个自变量和一个因变量。线性回归的目标是通过一组数据点找到最佳拟合线,然后可用于对未来的观察进行预测。1 [3 @3 G6 @+ \# m; |# x
0 ~* U. J* m6 g0 D9 H: `$ x) r3 v
9 [& l' s% y& _( s3 ^5 W! v
简单线性回归模型的方程为: 7 L( i3 K% ?$ A8 Y0 k S+ J ; A1 g) x% D8 E& P, [y = b 0 + b 1 ∗ x y = b0 + b1*x 1 V: {1 r8 @5 P0 ry=b0+b1∗x \2 v X5 f$ U4 b' `; c. s
1 [( a2 @7 e5 ^其中 y 是因变量,x 是自变量,b0 是 y 截距(直线与 y 轴的交点),b1 是直线的斜率。斜率表示给定 x 变化时 y 的变化。 , b( n% x* F/ Q* E* V- {# L, _* d* u
为了确定最佳拟合线,我们使用最小二乘法,该方法找到使预测 y 值与实际 y 值之间的平方差之和最小化的线。线性回归也可以扩展到多个自变量,称为多元线性回归。多元线性回归模型的方程为:y = b 0 + b 1 x 1 + b 2 x 2 + … + b n ∗ x n y = b0 + b1x1 + b2x2 + … + bn*xny=b0+b1x1+b2x2+…+bn∗xn。其中 x1, x2, …, xn 是自变量,b1, b2, …, bn 是相应的系数。1 z+ q; g; a3 O4 m0 `( x x2 T" K
; G4 Z( `- I+ H逻辑回归模型由以下方程表示: ) a Z1 o' Y$ E' Z9 v8 J4 ~3 E% x! y' |( @, `
P ( y = 1 ∣ x ) = 1 / ( 1 + e − ( b 0 + b 1 x 1 + b 2 x 2 + … + b n ∗ x n ) ) P(y=1|x) = 1/(1+e^-(b0 + b1x1 + b2x2 + … + bn*xn)) ; i7 L( ~, r/ u. D& T3 eP(y=1∣x)=1/(1+e ' y; o: i4 E, Q# B& m& E- v) L−. l/ \ j7 [0 i* \1 k: X
(b0+b1x1+b2x2+…+bn∗xn)) : x9 w$ S! |$ _8 m6 w9 x" l: z9 P6 u
其中 P(y=1|x) 是给定输入变量 x 时结果 y 为 1 的概率,b0 是截距,b1, b2, …, bn 是输入变量 x1, x2, … 的系数, xn。通过在数据集上训练模型并使用优化算法(例如梯度下降)来最小化成本函数(通常是对数损失)来确定系数。模型训练完成后,就可以通过输入新数据并计算结果为 1 的概率来进行预测。将结果分类为 1 或 0 的阈值通常设置为 0.5,但这可以根据情况进行调整具体任务以及误报和漏报之间所需的权衡。 1 Y; E, s* K6 `9 Y* i! ? c# e/ q, i7 {1 p
3.1 什么是逻辑函数?$ q# d& i5 n6 f/ H4 N+ t
逻辑函数,也称为s i g m o i d sigmoidsigmoid函数,是一条 S 形曲线,将任何实数值映射到 0 到 1 之间的值。它的定义为f ( x ) = 1 / ( 1 + e − x ) f(x) = 1 / (1 + e^-x )f(x)=1/(1+e # {3 B0 ~/ p( P: M; _
−+ Q2 R# U/ S- C! Z. [) E
x)其中 e 是自然对数的底。逻辑函数在逻辑回归中用于对二元结果的概率进行建模。5 } Q. Z# A$ j% N; l/ r
8 a+ \) J6 _) m! H% I; }
7 I: e/ T: e9 m2 r4 {% e q
) [9 X* \7 A8 ?$ h& n6 D: f: V
3.2 逻辑回归可以用于多类分类吗? # h. w# t1 h- v c" M8 u逻辑回归可用于多类分类,方法是为每个类创建单独的二元逻辑回归模型并选择预测概率最高的类。这被称为一对一或一对一的方法。或者,我们可以使用s o f t m a x softmaxsoftmax回归,它是逻辑回归的推广,可以直接处理多个类。 $ S, O1 H, _1 U E) k. q/ M- j; V$ o/ w3.3 如何解释逻辑回归中的系数? ' y9 e; T* l$ P! q$ R逻辑回归中的系数表示在保持所有其他预测变量不变的情况下,预测变量发生一个单位变化时结果的对数几率的变化。优势比可用于解释系数的大小。优势比大于 1 表示预测变量增加一个单位会增加结果的可能性,而优势比小于 1 表示预测变量增加一个单位会降低结果的可能性。 , p5 e" ]9 i4 E0 h& j, t - o$ p/ a' ~% `4 l+ ^, b4、支持向量机(SVM)算法 9 t. U; N! F1 j0 E: ^支持向量机 (SVM) 是一种监督学习算法,可用于分类或回归问题。SVM 背后的主要思想是通过最大化间隔(边界与每个类最近的数据点之间的距离)来找到分隔数据中不同类的边界。这些最接近的数据点称为支持向量。* W, I2 p0 j" Z8 K% F; b
[( f0 k4 S1 A! J" M6 H$ P, ^( Q. o' n8 B A. R
当数据不可线性分离(这意味着数据不能用直线分离)时,SVM 特别有用。在这些情况下,SVM 可以使用称为核技巧的技术将数据转换为更高维的空间,其中可以找到非线性边界。SVM 中使用的一些常见核函数包括多项式、径向基函数 (RBF) 和s i g m o i d sigmoidsigmoid。) o+ q$ y2 D. y$ f0 P6 d
& t+ S3 E. x& O& U6 _SVM 的主要优点之一是它们在高维空间中非常有效,并且即使在特征数量大于样本数量时也具有良好的性能。此外,SVM 内存效率高,因为它们只需要存储支持向量,而不是整个数据集。另一方面,SVM 对核函数和算法参数的选择很敏感。还需要注意的是,SVM 不适合大型数据集,因为训练时间可能相当长。总之,支持向量机(SVM)是一种强大的监督学习算法,可用于分类和回归问题,特别是当数据不可线性分离时。该算法以其在高维空间中的良好性能以及发现非线性边界的能力而闻名。然而,它对核函数和参数的选择很敏感,也不适合大型数据集。. i* o4 o, h& F$ i/ X: |