zoukankan      html  css  js  c++  java
  • Python机器学习算法

    Python机器学习算法

    0 绪论

    0.1 机器学习基础

    0.1.1 机器学习的概念
    0.1.2 机器学习算法的分类

    0.2 监督学习

    0.2.1 监督学习
    0.2.2 监督学习的流程
    0.2.3 监督学习算法

    0.3 无监督学习

    0.3.1 无监督学习
    0.3.2 无监督学习的流程
    0.3.3 无监督学习算法

    0.4 推荐系统和深度学习

    0.4.1 推荐系统
    0.4.2 深度学习

    0.5 Python和机器学习算法实践

    第一部分 分类算法

    1 Logistic Regression

    1.1 Logistic Regression模型
    1.1.1 线性可分VS线性不可分
    1.1.2 Logistic Regression模型
    1.1.3 损失函数
    1.2 梯度下降法
    1.2.1 梯度下降法的流程
    1.2.2 凸优化与非凸优化
    1.2.3 利用梯度下降法训练Logistic Regression模型
    1.3 梯度下降法的若干问题
    1.3.1 选择下降的方向
    1.3.2 步长的选择
    1.4 Logistic Regression算法实践
    1.4.1 利用训练样本训练Logistic Regression模型
    1.4.2 最终的训练效果
    1.4.3 对新数据进行预测

    2 Softmax Regression

    2.1 多分类问题
    2.2 Softmax Regression算法模型
    2.2.1 Softmax Regression模型
    2.2.2 Softmax Regression算法的代价函数
    2.3 Softmax Regression算法的求解
    2.4 Softmax Regression与Logistic Regression的关系
    2.4.1 Softmax Regression中的参数特点
    2.4.2 由Softmax Regression到Logistic Regression
    2.5 Softmax Regression算法实践
    2.5.1 对Softmax Regression算法的模型进行训练
    2.5.2 最终的模型
    2.5.3 对新的数据的预测

    3 Factorization Machine

    3.1 Logistic Regression算法的不足
    3.2 因子分解机FM的模型
    3.2.1 因子分解机FM模型
    3.2.2 因子分解机FM可以处理的问题
    3.2.3 二分类因子分解机FM算法的损失函数
    3.3 FM算法中交叉项的处理
    3.3.1 交叉项系数
    3.3.2 模型的求解
    3.4 FM算法的求解
    3.4.1 随机梯度下降(Stochastic Gradient Descent)
    3.4.2 基于随机梯度的方式求解
    3.4.3 FM算法流程
    3.5 因子分解机FM算法实践
    3.5.1 训练FM模型
    3.5.2 最终的训练效果
    3.5.3 对新的数据进行预测

    4 支持向量机

    4.1 二分类问题
    4.1.1 二分类的分隔超平面
    4.1.2 感知机算法
    4.1.3 感知机算法存在的问题
    4.2 函数间隔和几何间隔
    4.2.1 函数间隔
    4.2.2 几何间隔
    4.3 支持向量机
    4.3.1 间隔最大化
    4.3.2 支持向量和间隔边界
    4.3.3 线性支持向量机
    4.4 支持向量机的训练
    4.4.1 学习的对偶算法
    4.4.2 由线性支持向量机到非线性支持向量机
    4.4.3 序列最小最优化算法SMO
    4.5 支持向量机SVM算法实践
    4.5.1 训练SVM模型
    4.5.2 利用训练样本训练SVM模型
    4.5.3 利用训练好的SVM模型对新数据进行预测

    5 随机森林

    5.1 决策树分类器
    5.1.1 决策树的基本概念
    5.1.2 选择最佳划分的标准
    5.1.3 停止划分的标准
    5.2 CART分类树算法
    5.2.1 CART分类树算法的基本原理
    5.2.2 CART分类树的构建
    5.2.3 利用构建好的分类树进行预测
    5.3 集成学习(Ensemble Learning)
    5.3.1 集成学习的思想
    5.3.2 集成学习中的典型方法
    5.4 随机森林(Random Forests)
    5.4.1 随机森林算法模型
    5.4.2 随机森林算法流程
    5.5 随机森林RF算法实践
    5.5.1 训练随机森林模型
    5.5.2 最终的训练结果
    5.5.3 对新数据的预测

    6 BP神经网络

    6.1 神经元概述
    6.1.1 神经元的基本结构
    6.1.2 激活函数
    6.2 神经网络模型
    6.2.1 神经网络的结构
    6.2.2 神经网络中的参数说明
    6.2.3 神经网络的计算
    6.3 神经网络中参数的求解
    6.3.1 神经网络损失函数
    6.3.2 损失函数的求解
    6.3.3 BP神经网络的学习过程
    6.4 BP神经网络中参数的设置
    6.4.1 非线性变换
    6.4.2 权重向量的初始化
    6.4.3 学习率
    6.4.4 隐含层节点的个数
    6.5 BP神经网络算法实践
    6.5.1 训练BP神经网络模型
    6.5.2 最终的训练效果
    6.5.3 对新数据的预测

    第二部分 回归算法

    7 线性回归

    7.1 基本线性回归
    7.1.1 线性回归的模型
    7.1.2 线性回归模型的损失函数
    7.2 线性回归的最小二乘解法
    7.2.1 线性回归的最小二乘解法
    7.2.2 广义逆的概念
    7.3 牛顿法
    7.3.1 基本牛顿法的原理
    7.3.2 基本牛顿法的流程
    7.3.3 全局牛顿法
    7.3.4 Armijo搜索
    7.3.5 利用全局牛顿法求解线性回归模型
    7.4 利用线性回归进行预测
    7.4.1 训练线性回归模型
    7.4.2 最终的训练结果
    7.4.3 对新数据的预测
    7.5 局部加权线性回归
    7.5.1 局部加权线性回归模型
    7.5.2 局部加权线性回归的最终结果

    8 岭回归和Lasso回归

    8.1 线性回归存在的问题
    8.2 岭回归模型
    8.2.1 岭回归模型
    8.2.2 岭回归模型的求解
    8.3 Lasso回归模型
    8.4 拟牛顿法
    8.4.1 拟牛顿法
    8.4.2 BFGS校正公式的推导
    8.4.3 BFGS校正的算法流程
    8.5 L-BFGS求解岭回归模型
    8.5.1 BGFS算法存在的问题
    8.5.2 L-BFGS算法思路
    8.6 岭回归对数据的预测
    8.6.1 训练岭回归模型
    8.6.2 最终的训练结果
    8.6.3 利用岭回归模型预测新的数据

    9 CART树回归

    9.1 复杂的回归问题
    9.1.1 线性回归模型
    9.1.2 局部加权线性回归
    9.1.3 CART算法
    9.2 CART回归树生成
    9.2.1 CART回归树的划分
    9.2.2 CART回归树的构建
    9.3 CART回归树剪枝
    9.3.1 前剪枝
    9.3.2 后剪枝
    9.4 CART回归树对数据预测
    9.4.1 利用训练数据训练CART回归树模型
    9.4.2 最终的训练结果
    9.4.3 利用训练好的CART回归树模型对新的数据预测

    第三部分 聚类算法

    10 K-Means

    10.1 相似性的度量
    10.1.1 闵可夫斯基距离
    10.1.2 曼哈顿距离
    10.1.3 欧氏距离
    10.2 K-Means算法原理
    10.2.1 K-Means算法的基本原理
    10.2.2 K-Means算法步骤
    10.2.3 K-Means算法与矩阵分解
    10.3 K-Means算法实践
    10.3.1 导入数据
    10.3.2 初始化聚类中心
    10.3.3 聚类过程
    10.3.4 最终的聚类结果
    10.4 K-Means++算法
    10.4.1 K-Means算法存在的问题
    10.4.2 K-Means++算法的基本思路
    10.4.3 K-Means++算法的过程和最终效果

    11 Mean Shift

    11.1 Mean Shift向量
    11.2 核函数
    11.3 Mean Shift算法原理
    11.3.1 引入核函数的Mean Shift向量
    11.3.2 Mean Shift算法的基本原理
    11.4 Mean Shift算法的解释
    11.4.1 概率密度梯度
    11.4.2 Mean Shift向量的修正
    11.4.3 Mean Shift算法流程
    11.5 Mean Shift算法实践
    11.5.1 Mean Shift的主过程
    11.5.2 Mean Shift的最终聚类结果

    12 DBSCAN

    12.1 基于密度的聚类
    12.1.1 基于距离的聚类算法存在的问题
    12.1.2 基于密度的聚类算法
    12.2 DBSCAN算法原理
    12.2.1 DBSCAN算法的基本概念
    12.2.2 DBSCAN算法原理
    12.2.3 DBSCAN算法流程
    12.3 DBSCAN算法实践
    12.3.1 DBSCAN算法的主要过程
    12.3.2 Mean Shift的最终聚类结果

    13 Label Propagation

    13.1 社区划分
    13.1.1 社区以及社区划分
    13.1.2 社区划分的算法
    13.1.3 社区划分的评价标准
    13.2 Label Propagation算法原理
    13.2.1 Label Propagation算法的基本原理
    13.2.2 标签传播
    13.2.3 迭代的终止条件
    13.3 Label Propagation算法过程
    13.4 Label Propagation算法实践
    13.4.1 导入数据
    13.4.2 社区的划分
    13.4.3 最终的结果

    第四部分 推荐算法

    14 协同过滤算法

    14.1 推荐系统的概述
    14.1.1 推荐系统
    14.1.2 推荐问题的描述
    14.1.3 推荐的常用方法
    14.2 基于协同过滤的推荐
    14.2.1 协同过滤算法概述
    14.2.2 协同过滤算法的分类
    14.3 相似度的度量方法
    14.3.1 欧氏距离
    14.3.2 皮尔逊相关系数(Pearson Correlation)
    14.3.3 余弦相似度
    14.4 基于协同过滤的推荐算法
    14.4.1 基于用户的协同过滤算法
    14.4.2 基于项的协同过滤算法
    14.5 利用协同过滤算法进行推荐
    14.5.1 导入用户-商品数据
    14.5.2 利用基于用户的协同过滤算法进行推荐
    14.5.3 利用基于项的协同过滤算法进行推荐

    15 基于矩阵分解的推荐算法

    15.1 矩阵分解
    15.2 基于矩阵分解的推荐算法
    15.2.1 损失函数
    15.2.2 损失函数的求解
    15.2.3 加入正则项的损失函数即求解方法
    15.2.4 预测
    15.3 利用矩阵分解进行推荐
    15.3.1 利用梯度下降对用户商品矩阵分解和预测
    15.3.2 最终的结果
    15.4 非负矩阵分解
    15.4.1 非负矩阵分解的形式化定义
    15.4.2 损失函数
    15.4.3 优化问题的求解
    15.5 利用非负矩阵分解进行推荐
    15.5.1 利用乘法规则进行分解和预测
    15.5.2 最终的结果

    16 基于图的推荐算法

    16.1 二部图与推荐算法
    16.1.1 二部图
    16.1.2 由用户商品矩阵到二部图
    16.2 PageRank算法
    16.2.1 PageRank算法的概念
    16.2.2 PageRank的两个假设
    16.2.3 PageRank的计算方法
    16.3 PersonalRank算法
    16.3.1 PersonalRank算法原理
    16.3.2 PersonalRank算法的流程
    16.4 利用PersonalRank算法进行推荐
    16.4.1 利用PersonalRank算法进行推荐
    16.4.2 最终的结果

    第五部分 深度学习

    17 AutoEncoder

    17.1 多层神经网络
    17.1.1 三层神经网络模型
    17.1.2 由三层神经网络到多层神经网络
    17.2 AutoEncoder模型
    17.2.1 AutoEncoder模型结构
    17.2.2 AutoEncoder的损失函数
    17.3 降噪自编码器Denoising AutoEncoder
    17.3.1 Denoising AutoEncoder原理
    17.3.2 Denoising AutoEncoder实现
    17.4 利用Denoising AutoEncoders构建深度网络
    17.4.1 无监督的逐层训练
    17.4.2 有监督的微调
    17.5 利用TensorFlow实现Stacked Denoising AutoEncoders
    17.5.1 训练Stacked Denoising AutoEncoders模型
    17.5.2 训练的过程

    18 卷积神经网络

    18.1 传统神经网络模型存在的问题
    18.2 卷积神经网络
    18.2.1 卷积神经网络中的核心概念
    18.2.2 卷积神经网络模型
    18.3 卷积神经网络的求解
    18.3.1 卷积层(Convolution Layer)
    18.3.2 下采样层(Sub-Sampling Layer)
    18.3.3 全连接层(Fully-Connected Layer)
    18.4 利用TensorFlow实现CNN
    18.4.1 CNN的实现
    18.4.2 训练CNN模型
    18.4.3 训练的过程

    第六部分 项目实践

    19 微博精准推荐

    19.1 精准推荐
    19.1.1 精准推荐的项目背景
    19.1.2 精准推荐的技术架构
    19.1.3 离线数据挖掘
    19.2 基于用户行为的挖掘
    19.2.1 基于互动内容的兴趣挖掘
    19.2.2 基于与博主互动的兴趣挖掘
    19.3 基于相似用户的挖掘
    19.3.1 基于“@”人的相似用户挖掘
    19.3.2 基于社区的相似用户挖掘
    19.3.3 基于协同过滤的相似用户挖掘
    19.4 点击率预估
    19.4.1 点击率预估的概念
    19.4.2 点击率预估的方法
    19.5 各种数据技术的效果

    附录A

    附录B

    思维导图

    Python机器学习算法

    防止博客图床图片失效,防止图片源站外链:

    http://www.processon.com/chart_image/5e5b3ae8e4b0c037b6081e4a.png)

    思维导图在线编辑链接:

    https://www.processon.com/view/5e5b3ae8e4b0c037b6081e47

  • 相关阅读:
    期望
    更改开机默认操作系统及等待时间修改
    Python排序
    Python IDLE入门 + Python 电子书
    Python基础教程——1基础知识
    Java:谈谈protected访问权限
    三星I9100有时不能收发彩信完美解决!中国移动
    java继承的权限问题
    Python基础教程——2列表和元组
    访问控制和继承(Java)
  • 原文地址:https://www.cnblogs.com/jingle1267/p/13024519.html
Copyright © 2011-2022 走看看