怎么自己做网站,apache新建网站,网站js特效,不需要网络的游戏一、机器学习基础概念
1. 定义
机器学习#xff08;Machine Learning, ML#xff09;#xff1a;通过算法让计算机从数据中自动学习规律#xff0c;并利用学习到的模型进行预测或决策#xff0c;而无需显式编程。
2. 与编程的区别
传统编程机器学习输入#xff1a;规…一、机器学习基础概念
1. 定义
机器学习Machine Learning, ML通过算法让计算机从数据中自动学习规律并利用学习到的模型进行预测或决策而无需显式编程。
2. 与编程的区别
传统编程机器学习输入规则数据 → 输出结果输入数据结果 → 输出规则需要人工编写逻辑自动发现数据中的模式
3. 核心要素
数据模型学习的原材料结构化/非结构化特征Feature数据的可量化属性如房价预测中的面积、地段标签Label监督学习中的目标变量如房价数值模型从数据中学习到的数学函数如 y w 1 x 1 w 2 x 2 b y w_1x_1 w_2x_2 b yw1x1w2x2b损失函数衡量预测值与真实值的差距如均方误差 MSE优化算法调整模型参数以最小化损失如梯度下降 二、机器学习分类
1. 按学习方式分类
(1) 监督学习Supervised Learning
特点数据包含输入特征和对应标签典型任务 分类预测离散类别垃圾邮件识别二分类、手写数字识别多分类回归预测连续数值房价预测、股票走势预测 常用算法 线性回归Linear Regression支持向量机SVM随机森林Random Forest神经网络Neural Networks
(2) 无监督学习Unsupervised Learning
特点数据只有输入特征无标签典型任务 聚类客户分群、新闻主题发现降维可视化高维数据t-SNE异常检测信用卡欺诈识别 常用算法 K-Means聚类主成分分析PCA自编码器Autoencoder
(3) 强化学习Reinforcement Learning, RL
特点智能体通过与环境交互获得奖励信号学习策略典型应用AlphaGo、自动驾驶决策核心要素 状态State动作Action奖励Reward策略Policy
2. 按模型类型分类
类型特点算法示例参数模型参数数量固定如线性模型线性回归、逻辑回归非参数模型参数数量随数据增长KNN、决策树判别模型直接学习决策边界SVM、神经网络生成模型学习数据分布朴素贝叶斯、GAN 三、机器学习流程
1. 标准工作流 #mermaid-svg-xRTsRP93O0aAzMXi {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-xRTsRP93O0aAzMXi .error-icon{fill:#552222;}#mermaid-svg-xRTsRP93O0aAzMXi .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-xRTsRP93O0aAzMXi .edge-thickness-normal{stroke-width:2px;}#mermaid-svg-xRTsRP93O0aAzMXi .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-xRTsRP93O0aAzMXi .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-xRTsRP93O0aAzMXi .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-xRTsRP93O0aAzMXi .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-xRTsRP93O0aAzMXi .marker{fill:#333333;stroke:#333333;}#mermaid-svg-xRTsRP93O0aAzMXi .marker.cross{stroke:#333333;}#mermaid-svg-xRTsRP93O0aAzMXi svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-xRTsRP93O0aAzMXi .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-xRTsRP93O0aAzMXi .cluster-label text{fill:#333;}#mermaid-svg-xRTsRP93O0aAzMXi .cluster-label span{color:#333;}#mermaid-svg-xRTsRP93O0aAzMXi .label text,#mermaid-svg-xRTsRP93O0aAzMXi span{fill:#333;color:#333;}#mermaid-svg-xRTsRP93O0aAzMXi .node rect,#mermaid-svg-xRTsRP93O0aAzMXi .node circle,#mermaid-svg-xRTsRP93O0aAzMXi .node ellipse,#mermaid-svg-xRTsRP93O0aAzMXi .node polygon,#mermaid-svg-xRTsRP93O0aAzMXi .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-xRTsRP93O0aAzMXi .node .label{text-align:center;}#mermaid-svg-xRTsRP93O0aAzMXi .node.clickable{cursor:pointer;}#mermaid-svg-xRTsRP93O0aAzMXi .arrowheadPath{fill:#333333;}#mermaid-svg-xRTsRP93O0aAzMXi .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-xRTsRP93O0aAzMXi .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-xRTsRP93O0aAzMXi .edgeLabel{background-color:#e8e8e8;text-align:center;}#mermaid-svg-xRTsRP93O0aAzMXi .edgeLabel rect{opacity:0.5;background-color:#e8e8e8;fill:#e8e8e8;}#mermaid-svg-xRTsRP93O0aAzMXi .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-xRTsRP93O0aAzMXi .cluster text{fill:#333;}#mermaid-svg-xRTsRP93O0aAzMXi .cluster span{color:#333;}#mermaid-svg-xRTsRP93O0aAzMXi div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-xRTsRP93O0aAzMXi :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 是 否 数据收集 数据预处理 特征工程 模型选择 模型训练 模型评估 是否达标? 部署 2. 关键步骤详解
(1) 数据预处理
缺失值处理删除/填充均值、中位数异常值检测Z-Score、IQR方法数据标准化Min-Max缩放、Z-Score标准化类别编码One-Hot编码、标签编码
(2) 特征工程
特征选择方差阈值、卡方检验特征构造组合特征如面积长×宽时间序列特征滑动窗口统计文本特征TF-IDF、词嵌入
(3) 模型训练
数据集划分训练集60-80%、验证集10-20%、测试集10-20%超参数调优网格搜索、随机搜索、贝叶斯优化防止过拟合交叉验证、早停Early Stopping
(4) 模型评估
任务类型评估指标分类准确率、精确率、召回率、F1 Score、ROC-AUC回归MAE、MSE、R²聚类轮廓系数、Calinski-Harabasz指数 四、经典算法原理
1. 线性回归Linear Regression
核心思想找到最佳拟合直线 y w T x b y w^Tx b ywTxb损失函数 M S E 1 n ∑ i 1 n ( y i − y ^ i ) 2 MSE \frac{1}{n}\sum_{i1}^n(y_i - \hat{y}_i)^2 MSEn1∑i1n(yi−y^i)2求解方法 解析解 w ( X T X ) − 1 X T y w (X^TX)^{-1}X^Ty w(XTX)−1XTy 适用于小数据数值解梯度下降大数据场景
2. 决策树Decision Tree
分裂准则 信息增益ID3算法基尼不纯度CART算法 剪枝策略预剪枝最大深度限制、后剪枝代价复杂度剪枝
3. 随机森林Random Forest
核心机制 Bagging通过自助采样Bootstrap生成多个子数据集特征随机性每个节点分裂时随机选择部分特征 预测方式分类任务投票回归任务平均
4. 支持向量机SVM
最大间隔分类器寻找使间隔最大的超平面核技巧通过核函数将数据映射到高维空间常用RBF核数学形式 f ( x ) s i g n ( ∑ i 1 n α i y i K ( x i , x ) b ) f(x) sign(\sum_{i1}^n \alpha_i y_i K(x_i, x) b) f(x)sign(∑i1nαiyiK(xi,x)b) 五、实战案例解析
案例1鸢尾花分类监督学习
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestClassifier# 加载数据
iris load_iris()
X, y iris.data, iris.target# 划分数据集
X_train, X_test, y_train, y_test train_test_split(X, y, test_size0.2)# 训练模型
model RandomForestClassifier(n_estimators100)
model.fit(X_train, y_train)# 评估
print(准确率:, model.score(X_test, y_test))案例2客户分群无监督学习
from sklearn.cluster import KMeans
import matplotlib.pyplot as plt
from sklearn.datasets import make_blobs# 生成模拟数据
X, _ make_blobs(n_samples300, centers4, cluster_std0.6)# 聚类分析
kmeans KMeans(n_clusters4)
clusters kmeans.fit_predict(X)# 可视化
plt.scatter(X[:,0], X[:,1], cclusters, cmapviridis)
plt.show()六、挑战与解决方案
常见问题解决方法数据不平衡SMOTE过采样、类别权重调整维度灾难特征选择、降维技术PCA过拟合L1/L2正则化、Dropout神经网络计算效率低特征哈希、模型量化 线性回归算法
以下是线性回归的全面详解包含基础概念、数学原理、实战应用及进阶技巧适合零基础学习者系统掌握 线性回归终极指南
一、核心概念全景图 #mermaid-svg-7SJeVgAN9yvmZtXs {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-7SJeVgAN9yvmZtXs .error-icon{fill:#552222;}#mermaid-svg-7SJeVgAN9yvmZtXs .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-7SJeVgAN9yvmZtXs .edge-thickness-normal{stroke-width:2px;}#mermaid-svg-7SJeVgAN9yvmZtXs .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-7SJeVgAN9yvmZtXs .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-7SJeVgAN9yvmZtXs .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-7SJeVgAN9yvmZtXs .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-7SJeVgAN9yvmZtXs .marker{fill:#333333;stroke:#333333;}#mermaid-svg-7SJeVgAN9yvmZtXs .marker.cross{stroke:#333333;}#mermaid-svg-7SJeVgAN9yvmZtXs svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-7SJeVgAN9yvmZtXs .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-7SJeVgAN9yvmZtXs .cluster-label text{fill:#333;}#mermaid-svg-7SJeVgAN9yvmZtXs .cluster-label span{color:#333;}#mermaid-svg-7SJeVgAN9yvmZtXs .label text,#mermaid-svg-7SJeVgAN9yvmZtXs span{fill:#333;color:#333;}#mermaid-svg-7SJeVgAN9yvmZtXs .node rect,#mermaid-svg-7SJeVgAN9yvmZtXs .node circle,#mermaid-svg-7SJeVgAN9yvmZtXs .node ellipse,#mermaid-svg-7SJeVgAN9yvmZtXs .node polygon,#mermaid-svg-7SJeVgAN9yvmZtXs .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-7SJeVgAN9yvmZtXs .node .label{text-align:center;}#mermaid-svg-7SJeVgAN9yvmZtXs .node.clickable{cursor:pointer;}#mermaid-svg-7SJeVgAN9yvmZtXs .arrowheadPath{fill:#333333;}#mermaid-svg-7SJeVgAN9yvmZtXs .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-7SJeVgAN9yvmZtXs .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-7SJeVgAN9yvmZtXs .edgeLabel{background-color:#e8e8e8;text-align:center;}#mermaid-svg-7SJeVgAN9yvmZtXs .edgeLabel rect{opacity:0.5;background-color:#e8e8e8;fill:#e8e8e8;}#mermaid-svg-7SJeVgAN9yvmZtXs .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-7SJeVgAN9yvmZtXs .cluster text{fill:#333;}#mermaid-svg-7SJeVgAN9yvmZtXs .cluster span{color:#333;}#mermaid-svg-7SJeVgAN9yvmZtXs div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-7SJeVgAN9yvmZtXs :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 线性回归 简单线性回归 多元线性回归 正则化回归 单特征预测 多特征组合 Lasso/Ridge/ElasticNet 二、算法深度解析
1. 数学表达形式 简单线性回归 y w 1 x b y w_1x b yw1xb w₁斜率特征权重b截距偏置项 多元线性回归 y w 1 x 1 w 2 x 2 . . . w n x n b y w_1x_1 w_2x_2 ... w_nx_n b yw1x1w2x2...wnxnb 示例房价 3.5×面积 1.2×卧室数 20
2. 损失函数可视化
均方误差MSE M S E 1 n ∑ i 1 n ( y i − y ^ i ) 2 MSE \frac{1}{n}\sum_{i1}^{n}(y_i - \hat{y}_i)^2 MSEn1∑i1n(yi−y^i)2
3. 参数求解
更新规则 w w − α ∂ M S E ∂ w w w - \alpha \frac{\partial MSE}{\partial w} ww−α∂w∂MSE b b − α ∂ M S E ∂ b b b - \alpha \frac{\partial MSE}{\partial b} bb−α∂b∂MSE
学习率(α)的影响
太小收敛慢太大可能无法收敛
三、实战全流程演练
案例预测汽车油耗MPG
数据集
气缸数排量马力重量油耗42.512015002863.0180200022
import pandas as pd
from sklearn.linear_model import LinearRegression
from sklearn.model_selection import train_test_split# 加载数据
data pd.read_csv(auto-mpg.csv)
X data[[cylinders, displacement, horsepower, weight]]
y data[mpg]# 数据预处理
X.fillna(X.mean(), inplaceTrue) # 处理缺失值
X_train, X_test, y_train, y_test train_test_split(X, y, test_size0.2)# 训练模型
model LinearRegression()
model.fit(X_train, y_train)# 评估模型
print(训练集R²:, model.score(X_train, y_train))
print(测试集R²:, model.score(X_test, y_test))# 预测新数据
new_car [[4, 2.0, 110, 1400]]
predicted_mpg model.predict(new_car)
print(预测油耗:, predicted_mpg[0])关键输出解读
系数权重model.coef_ 显示每个特征的影响程度截距model.intercept_ 表示基础油耗值R²分数0.8表示模型能解释80%的数据变化
四、算法变种与改进
1. 多项式回归
处理非线性关系 y w 1 x w 2 x 2 b y w_1x w_2x^2 b yw1xw2x2b
from sklearn.preprocessing import PolynomialFeaturespoly PolynomialFeatures(degree2)
X_poly poly.fit_transform(X)
model.fit(X_poly, y)2. 正则化回归
类型公式特点Ridge回归添加L2正则项 λ ∑ w i 2 \lambda\sum w_i^2 λ∑wi2防止过拟合保留所有特征Lasso回归添加L1正则项$\lambda\sumw_iElasticNetL1L2组合平衡特征选择与稳定性
from sklearn.linear_model import Lassolasso Lasso(alpha0.1) # 正则化强度
lasso.fit(X_train, y_train)五、模型诊断与优化
1. 常见问题诊断表
现象可能原因解决方案训练集R²高测试集低过拟合增加正则化、减少特征所有系数接近零特征尺度差异大数据标准化残差不随机分布非线性关系添加多项式特征
2. 特征工程技巧
分箱处理将连续年龄分段为青年/中年/老年交互特征创建面积长×宽等组合特征离散化将温度分为低温/常温/高温
3. 超参数调优
from sklearn.model_selection import GridSearchCVparams {alpha: [0.001, 0.01, 0.1, 1]}
grid GridSearchCV(Lasso(), params, cv5)
grid.fit(X, y)
print(最佳参数:, grid.best_params_)六、数学推导简化版
1. 最小二乘法推导
目标找到使 ∑ ( y i − w x i − b ) 2 \sum(y_i - wx_i - b)^2 ∑(yi−wxi−b)2最小的w和b
求导过程 对w求导 ∂ ∂ w − 2 ∑ x i ( y i − w x i − b ) 0 \frac{\partial}{\partial w} -2\sum x_i(y_i - wx_i - b) 0 ∂w∂−2∑xi(yi−wxi−b)0 对b求导 ∂ ∂ b − 2 ∑ ( y i − w x i − b ) 0 \frac{\partial}{\partial b} -2\sum(y_i - wx_i - b) 0 ∂b∂−2∑(yi−wxi−b)0
解得 w n ∑ x i y i − ∑ x i ∑ y i n ∑ x i 2 − ( ∑ x i ) 2 w \frac{n\sum x_iy_i - \sum x_i \sum y_i}{n\sum x_i^2 - (\sum x_i)^2} wn∑xi2−(∑xi)2n∑xiyi−∑xi∑yi b ∑ y i − w ∑ x i n b \frac{\sum y_i - w\sum x_i}{n} bn∑yi−w∑xi 愿得一心人白头不相离。 —卓文君