. x$ {( [/ Q/ u/ v" y7 x3 S4 A1.2 机器学习算法的分类 / M: R5 z3 V" ~% D ^机器学习算法可以是基于统计学原理、优化方法、神经网络等等。根据学习的方式不同,机器学习算法可以分为监督学习、无监督学习和强化学习等几种类型。不同的机器学习算法适用于不同的问题和数据类型,选择合适的算法可以提高机器学习的任务效果。3 g+ F# b' ~( F" N5 q b" ~$ q
9 p3 j) X8 z$ w- n% i$ ?6 M
监督学习算法:监督学习算法需要训练数据集中包含输入和对应的输出(或标签)信息。常用的监督学习算法包括:线性回归、逻辑回归、决策树、支持向量机、朴素贝叶斯、人工神经网络等。 % }( v( g" i L5 A" L$ ]6 N ! {& R- y8 l ^) p无监督学习算法:无监督学习算法不需要训练数据集中的输出信息,主要用于数据的聚类和降维等问题。常用的无监督学习算法包括:K均值聚类、层次聚类、主成分分析、关联规则挖掘等。 * K6 b2 l8 M) d, o; |6 O4 G0 ?1 }1 M
强化学习算法:强化学习算法通过与环境进行交互,试图找到最优策略来最大化奖励。常用的强化学习算法包括:Q学习、深度强化学习算法等。7 _5 I: j6 `0 `' x
% X) L# O8 G9 q3 Z: y8 w此外,还有一些常用的机器学习算法和技术,如集成学习、降维方法、深度学习、迁移学习、半监督学习等,它们通过不同的方式和建模方法来解决不同的问题。选择合适的机器学习算法需要考虑问题的性质、数据的特点、算法的可解释性和计算效率等因素。 t$ L# T w2 m* z5 `5 F% V! s" m4 b# j) i- h! S6 ~
2、线性回归算法 e j! i h: @: k$ x' l- }线性回归是一种统计方法,用于检查两个连续变量之间的关系:一个自变量和一个因变量。线性回归的目标是通过一组数据点找到最佳拟合线,然后可用于对未来的观察进行预测。/ `) H8 M7 N% W- e+ d
: k y% _- s- z5 G7 J, z0 I
" p ~" ?. j$ T, x简单线性回归模型的方程为:8 b2 _( e$ i# o/ ~' N
5 t" W7 Y1 {4 X& h
y = b 0 + b 1 ∗ x y = b0 + b1*x 7 A5 G E" C3 `1 [( K" W! f3 gy=b0+b1∗x" |; J }/ W: p9 z4 M P
; B' L0 _! ?2 y* P/ R
其中 y 是因变量,x 是自变量,b0 是 y 截距(直线与 y 轴的交点),b1 是直线的斜率。斜率表示给定 x 变化时 y 的变化。' g3 p' O O5 K
8 `/ Y/ _6 U- |. t2 i6 }
为了确定最佳拟合线,我们使用最小二乘法,该方法找到使预测 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 是相应的系数。& ^8 A. ~, }8 u7 Z: s7 r M! K, N
7 t" d- c' J8 o( ^ . o( i5 e/ L6 F6 \& X6 u* V2 ?2.3 如何处理线性回归中的异常值?: g3 X. T4 U: k' L3 a( E
线性回归中的异常值可能会对模型的预测产生重大影响,因为它们可能会扭曲回归线。处理线性回归中的异常值有多种方法,包括以下几点:' Q* y" ?% J1 |7 ~) a
/ ^3 d; d, c& u/ V4 c! L' b
删除异常值:一种选择是在训练模型之前简单地从数据集中删除异常值。然而,这可能会导致重要信息的丢失。 4 d! t# ^9 D& r, q" c( ~0 | / Y. ~6 j: c9 ]0 F* p转换数据:应用转换(例如记录数据日志)有助于减少异常值的影响。" b' h# J- j. O5 W0 ~$ f8 m P
/ _1 z8 S0 V8 ~% `. n1 s3 U
使用稳健回归方法:稳健回归方法(例如 RANSAC 或 Theil-Sen)对异常值的敏感度低于传统线性回归。 7 _) T2 l: J$ Q: K/ k , g& U1 ?* n1 F8 \: Z. \使用正则化:正则化可以通过在成本函数中添加惩罚项来帮助防止由异常值引起的过度拟合。% Y2 w9 D) \% W# x
& r, Z+ g# {% d# L总之,采用什么方法将取决于特定的数据集和分析的目标。% Q4 F$ U, S' Q$ y9 n2 y+ S
/ o8 w0 X- r% L w, K% M! `
3、逻辑回归算法: |* U7 G( v6 h5 T2 j4 c5 U
逻辑回归是一种统计方法,用于根据一个或多个自变量预测二元结果,例如成功或失败。它是机器学习中的一种流行技术,通常用于分类任务,例如确定电子邮件是否是垃圾邮件,或预测客户是否会流失。 9 T+ k. B7 g& d* x) e5 F1 I. _+ Q. [9 ] b- z/ d/ e
q- k6 o1 k0 L! K8 c0 V7 c+ E . o5 F7 q2 i' U" P+ U% {逻辑回归模型基于逻辑函数,逻辑函数是一个sigmoid函数,它将输入变量映射到 0 到 1 之间的概率。然后使用该概率对结果进行预测。 , f! F5 X" M: F7 ` v( f, C+ y! c3 H' D* X- Q x
逻辑回归模型由以下方程表示: * p0 y: J9 W1 d1 R5 ~0 E# U" ]% J8 l/ s' e- m
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))% q; Z& X" J- ~1 A* S
P(y=1∣x)=1/(1+e 8 S. H+ [) }+ J( a: q. R
−8 ~& R! [1 ~! O( c4 F
(b0+b1x1+b2x2+…+bn∗xn)) + k( F9 M3 Q3 w% V+ _# c5 P% H# t6 S4 o; g1 Y
其中 P(y=1|x) 是给定输入变量 x 时结果 y 为 1 的概率,b0 是截距,b1, b2, …, bn 是输入变量 x1, x2, … 的系数, xn。通过在数据集上训练模型并使用优化算法(例如梯度下降)来最小化成本函数(通常是对数损失)来确定系数。模型训练完成后,就可以通过输入新数据并计算结果为 1 的概率来进行预测。将结果分类为 1 或 0 的阈值通常设置为 0.5,但这可以根据情况进行调整具体任务以及误报和漏报之间所需的权衡。 3 c" R6 {) k/ L- a( w0 x, k# i5 h) g/ U+ w- f) u' a
3.1 什么是逻辑函数? 4 t0 X2 \, ]1 k D逻辑函数,也称为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 ; i8 C! y% P6 J, M4 X! d! k+ J* ?1 k3 y
− , _# @2 E7 P. c x)其中 e 是自然对数的底。逻辑函数在逻辑回归中用于对二元结果的概率进行建模。. o( l% g7 D) P% ]. `. m' u: E
- X) F' U8 V$ n* E& |$ w. {$ z) f4 P7 [$ U( G
( ~6 \4 y& w) ]; }
3.2 逻辑回归可以用于多类分类吗?0 o2 q! Q6 L0 r
逻辑回归可用于多类分类,方法是为每个类创建单独的二元逻辑回归模型并选择预测概率最高的类。这被称为一对一或一对一的方法。或者,我们可以使用s o f t m a x softmaxsoftmax回归,它是逻辑回归的推广,可以直接处理多个类。 , l6 c" `& K9 q, u* }' B& n* { . Y% Y, S; o" }) D% v& b; r3.3 如何解释逻辑回归中的系数? * T. ~5 c2 r, Q a3 r& ^7 Y: h逻辑回归中的系数表示在保持所有其他预测变量不变的情况下,预测变量发生一个单位变化时结果的对数几率的变化。优势比可用于解释系数的大小。优势比大于 1 表示预测变量增加一个单位会增加结果的可能性,而优势比小于 1 表示预测变量增加一个单位会降低结果的可能性。0 f x+ ?8 ^$ _2 E. E* c
$ [' K) H- g* k
4、支持向量机(SVM)算法/ Z- @2 ^ f6 W" z0 ]9 i
支持向量机 (SVM) 是一种监督学习算法,可用于分类或回归问题。SVM 背后的主要思想是通过最大化间隔(边界与每个类最近的数据点之间的距离)来找到分隔数据中不同类的边界。这些最接近的数据点称为支持向量。 ]9 q2 W" b. d7 p& p2 [; d
5 p2 O3 B' x' A, {1 e U; N8 r! ~* @2 g$ l- w: t$ S* j. F
当数据不可线性分离(这意味着数据不能用直线分离)时,SVM 特别有用。在这些情况下,SVM 可以使用称为核技巧的技术将数据转换为更高维的空间,其中可以找到非线性边界。SVM 中使用的一些常见核函数包括多项式、径向基函数 (RBF) 和s i g m o i d sigmoidsigmoid。; Z4 o5 f: g. i: Q3 l$ S
( B% K& F; T6 m+ L" @1 USVM 的主要优点之一是它们在高维空间中非常有效,并且即使在特征数量大于样本数量时也具有良好的性能。此外,SVM 内存效率高,因为它们只需要存储支持向量,而不是整个数据集。另一方面,SVM 对核函数和算法参数的选择很敏感。还需要注意的是,SVM 不适合大型数据集,因为训练时间可能相当长。总之,支持向量机(SVM)是一种强大的监督学习算法,可用于分类和回归问题,特别是当数据不可线性分离时。该算法以其在高维空间中的良好性能以及发现非线性边界的能力而闻名。然而,它对核函数和参数的选择很敏感,也不适合大型数据集。) |9 }# r( _3 x: P
r+ w8 ^' Z; v) I7 s6 d
4.1 优点 S+ a: ?0 n' `
在高维空间中有效:即使当特征数量大于样本数量时,SVM 也具有良好的性能。 5 o Y2 k: f. \% E$ T6 m. r - w$ ~* k9 k6 k/ A. Z6 V+ F+ F内存效率高:SVM 只需要存储支持向量,而不需要存储整个数据集,因此内存效率高。 ) c0 w9 ~( X9 F/ T1 T) p2 ~" g z + a5 u% Y, g% N( u/ c通用性:SVM 可用于分类和回归问题,并且可以使用核技巧处理非线性可分离数据。 : |5 D7 l% K) r5 W! ~& F' p4 K9 u; y
对噪声和异常值具有鲁棒性:SVM 对数据中的噪声和异常值具有鲁棒性,因为它们仅依赖于支持向量。 5 p$ Q# N! l% h8 H% n7 f; ~* \, v' w% @3 {. z% r
4.2 缺点 ; }- F0 \: g& U# L0 p Q对核函数和参数的选择敏感:SVM 的性能高度依赖于核函数的选择和算法参数。 6 [; C( z- {# f. U1 c( G6 x; ~( b$ w
不适合大型数据集:对于大型数据集,SVM 的训练时间可能会相当长。 6 P( `5 q) v# ` 1 z5 L+ |, T0 @* M解释结果困难:解释 SVM 的结果可能很困难,特别是在使用非线性核时。7 e5 B1 F& \$ B1 Z, b
- `% _+ a3 t# @! D- { I0 s% M% g
不适用于重叠类:当类有明显重叠时,SVM 可能会遇到困难。" Y% I- h" b6 \3 w! b
( |. p2 I* l$ F总之,SVM 是一种强大且通用的机器学习算法,可用于分类和回归问题,特别是当数据不可线性分离时。然而,它们可能对核函数和参数的选择敏感,不适合大型数据集,并且难以解释结果。# _1 p7 ^! k+ c8 p
9 t( @2 [5 T, i c' f8 S