✨✨ 欢迎大家来访Like_July_moon的博文(づ ̄3 ̄)づ╭❤~✨✨
🌟🌟 欢迎各位亲爱的读者,感谢你们抽出宝贵的时间来阅读我的文章。
我是Like_July_moon,在这里我会分享我的知识和经验。🎥
希望在这里,我们能一起探索IT世界的奥妙,提升我们的技能。🔮
记得先点赞👍后阅读哦~ 👏👏
📘📚 所属专栏:计算机网络
欢迎访问我的主页:Like_July_moon 获取更多信息和资源。✨✨🌙🌙
一、机器学习十大算法
- 线性回归算法(Linear Regression)
- 支持向量机算法(Support Vector Machine,SVM)
- 最近邻居/k-近邻算法(K-Nearest Neighbors,KNN)
- 逻辑回归算法( Logistic Regression)
- 决策树算法(Decision Tree)
- k-平均算法(K-Means)
- 随机森林算法( Random Forest)
- 朴素贝叶斯算法(Naive Bayes)
- 降维算法(Dimensional Reduction)
- 梯度增强算法(Gradient Boosting)
二、十大算法详细介绍
1.线性回归算法
线性回归是机器学习中最基础也是应用最广泛的算法之一。它主要用于预测一个或多个自变量(输入特征)与一个因变量(输出标签)之间的线性关系。线性回归模型试图找到一条直线(在二维空间中)或一个超平面(在更高维空间中),使得所有数据点到这条直线或超平面的垂直距离之和最小,这样的直线或超平面称为最佳拟合线或最佳拟合超平面。
线性回归模型通常表示为:
y = wx + b + ε
其中:
*y 是因变量,即我们想要预测的输出。
*x 是自变量,即输入特征。
*w 是权重,表示每个特征对输出影响的程度。
*b 是偏差项,也称为截距,表示当所有特征为零时输出的值。
*ε 是误差项,表示模型预测值和实际值之间的差异,它假设误差是随机分布的。
线性回归的目标是最小化损失函数,损失函数用于度量模型预测的准确度。最常用的损失函数是均方误差(MSE),定义为:
MSE = (1/N) * Σ(y_i - (wx_i + b))^2
其中 N 是数据点的数量,y_i 是第 i 个数据点的实际输出值,x_i 是相应的输入特征向量。
为了找到最佳的 w 和 b,通常使用梯度下降等优化算法来迭代地调整权重和偏差,以最小化损失函数。
线性回归有几种不同的变体:
1.简单线性回归:只涉及一个自变量和一个因变量。
2.多元线性回归:涉及多个自变量和一个因变量。
3.岭回归:通过引入L2正则化来解决多元线性回归中的过拟合问题。
4.套索回归:通过引入L1正则化来解决多元线性回归中的过拟合问题,并且能够进行特征选择。
线性回归算法简单、易于理解,但它的一个主要假设是自变量和因变量之间存在线性关系,这在现实世界的许多情况下可能并不成立。因此,在应用线性回归之前,需要对数据进行适当的探索性分析,以确保数据之间的线性关系
线性回归模型展示:
线性回归算法简单、易于理解,但它的一个主要假设是自变量和因变量之间存在线性关系,这在现实世界的许多情况下可能并不成立。因此,在应用线性回归之前,需要对数据进行适当的探索性分析,以确保数据之间的线性关系。
python实现线性回归算法示例:
使用NumPy手动实现
import numpy as np
# 创建数据集
# X是特征矩阵,y是目标向量
X = np.array([[1, 1], [1, 2], [1, 3], [1, 4], [1, 5]])
y = np.array([1, 2, 3, 4, 5])
# 添加偏置项
X_b = np.c_[np.ones((X.shape[0], 1)), X] # 在X前面添加一列1
# 使用正规方程求解权重
# θ = (X^T * X)^(-1) * X^T * y
theta_best = np.linalg.inv(X_b.T.dot(X_b)).dot(X_b.T).dot(y)
# 预测
X_new = np.array([[0], [6]])
X_new_b = np.c_[np.ones((2, 1)), X_new] # 添加偏置项
y_predict = X_new_b.dot(theta_best)
print("预测值:", y_predict)
2.支持向量机算法
支持向量机(Support Vector Machine,SVM)是一种监督学习算法,可以用于分类或回归任务。SVM的基本模型是在特征空间上找到一个最优的超平面,这个超平面能够最好地将不同类别的数据分开,同时保持最大的间隔(margin)。对于分类问题,SVM寻找一个超平面,使得距离最近的两个不同类别的数据点之间的距离最大,这样的超平面称为最大间隔超平面。
关键概念:
1.支持向量(Support Vectors):在SVM中,支持向量是指那些距离超平面最近的训练样本,它们决定了超平面的位置。
2.间隔(Margin):间隔是超平面与最近的训练样本之间的距离,SVM的目标是最大化这个间隔。
3.核函数(Kernel Function):SVM使用核函数将输入数据映射到高维空间,这样即使数据在原始特征空间中不是线性可分的,也可能在高维空间中变得线性可分。常用的核函数包括线性核、多项式核、径向基函数(RBF)核和sigmoid核。
4.软间隔(Soft Margin):在现实世界的应用中,数据往往是噪声的,可能不存在完美的超平面。因此,SVM允许某些样本不满足间隔约束,这称为软间隔SVM。
5.正则化参数C:在软间隔SVM中,正则化参数C权衡了间隔的大小和违反间隔的样本数量。C值较大时,SVM会尝试最大化间隔,但如果C值过大,可能会导致过拟合。C值较小时,SVM允许更多的违反间隔的样本,这可能会增加模型的泛化能力。
SVM的工作流程:
1.选择合适的核函数将输入数据映射到高维空间。
2.在高维空间中找到最大间隔的超平面。
3.使用支持向量确定超平面的位置。
4.对于新的输入数据,根据其在高维空间中的位置判断其类别。
SVM在中小规模数据和复杂




最低0.47元/天 解锁文章
151





