监督学习主要包括分类和回归两种类型。
分类:分类是一种监督学习的任务,它的目标是将输入数据分到不同的类别中。常见的分类算法包括决策树、朴素贝叶斯、支持向量机、逻辑回归等。
回归:回归是一种监督学习的任务,它的目标是预测一个连续的数值输出。常见的回归算法包括线性回归、多项式回归、岭回归、Lasso回归等。
下面是一些常见的监督学习算法及其简要描述和示例代码展示:
1. 线性回归(Linear Regression)
用于建立输入特征和连续目标变量之间的线性关系。
知识点:
(1)损失函数:最小二乘法
最小二乘法通过最小化预测值与真实值之间的平方误差来优化模型,适用于线性回归问题;
误差方程为:
其最优解为:
其中X为m×n 的样本输入矩阵:
为m×1 列向量,一般称为labels, 对应于简单函数,其实就是指函数值f(x)。
为n×1 列向量,就是待求的拟和权重参数。
(2)优化算法:梯度下降法
梯度下降法是一种常用的模型优化算法,通过计算损失函数关于模型参数的梯度来更新参数,从而达到最小化损失函数的目的。
示例代码如下:
# 导入所需的库
import numpy as np
from sklearn.datasets import load_boston
from sklearn.linear_model import LinearRegression
from sklearn.model_selection import train_test_split
from sklearn.metrics import mean_squared_error
# 加载数据集
boston = load_boston()
X = boston.data
y = boston.target
# 将数据集拆分为训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# 创建线性回归模型并拟合数据
model = LinearRegression()
model.fit(X_train, y_train)
# 预测测试集的房价
y_pred = model.predict(X_test)
# 计算模型的均方误差
mse = mean_squared_error(y_test, y_pred)
print("Mean squared error:", mse)
2. 逻辑回归(Logistic Regression)
适用于二分类问题,通过将线性回归结果映射到[0, 1]区间进行分类。
知识点:
(1)损失函数:对数损失函数(逻辑损失函数)
对数损失函数通过最小化预测值与真实值之间的交叉熵来优化模型,适用于二分类和多分类问题。
对数损失函数的标准形式&#x