机器学习

  • 第一章数据挖掘
    • 数据挖掘概念
    • 数据挖掘的模式类型
  • 第二章机器学习
    • 1 机器学习分类
    • 2 机器学习中的一些概念
      • 训练样本
      • 训练
      • 分类模型
      • 验证
  • 第三章无监督学习
    • 聚类
      • K-means聚类算法
      • K-means应用
      • DBSCAN聚类算法
      • DBSACN应用
    • 降维
      • 主成分分析(PCA)
        • 方差
        • 协方差和协方差矩阵
        • 特征向量和特征值
        • 算法过程
    • 基于聚类的“图像分割”实例 编写
  • 第四章监督学习
    • 1、 数据集的划分
      • sklearn数据集介绍
        • API
        • 分类和回归数据集
      • 返回类型
    • 2、sklearn转换器和估计器
      • 1.1 转换器
      • 1.2 估计器(sklearn机器学习算法的实现)
      • 1.3 估计器工作流程
    • 3、K-近邻算法(KNN)
      • 1.1 定义
      • 1.2 距离公式
      • 2、电影类型分析
      • 2.1 问题
      • 2.2 K-近邻算法数据的特征工程处理
      • 3、K-近邻算法API
      • 4、案例:预测签到位置
        • 4.1 分析
        • 4.2 代码
        • 4.3 结果分析
        • 准确率: 分类算法的评估之一
      • 5、K-近邻总结
    • 4、模型选择与调优
      • 1、为什么需要交叉验证
      • 2、什么是交叉验证(cross validation)
      • 2.1 分析
        • 问题:那么这个只是对于参数得出更好的结果,那么怎么选择或者调优参数呢?
      • 3、超参数搜索-网格搜索(Grid Search)
      • 3.1 模型选择与调优
      • 4、Facebook签到位置预测K值调优
    • 5、朴素贝叶斯分类方法
      • 1、什么是朴素贝叶斯
      • 2、 概率基础
        • 2.1 概率(Probability)定义
        • 2.2 女神是否喜欢计算案例
        • 2.3 条件概率与联合概率
      • 3、 贝叶斯公式
        • 3.1 公式
        • 3.2 文章分类计算
          • 思考:我们计算出来某个概率为0,合适吗?
        • 3.3 拉普拉斯平滑系数
        • 3.4 API
      • 4、案例:20类新闻分类
        • 4.1 分析
        • 4.2 代码
      • 5、总结
    • 6、决策树
      • 1、决策树认识
      • 2、决策树分类原理详解
        • 2.1 原理
        • 2.2 信息熵
        • 2.2.1 信息熵的定义
        • 2.2.2 总结(重要)
        • 2.3 决策树的划分依据之一(信息增益)
          • 2.3.1 定义与公式
          • 2.3.2 贷款特征重要计算
        • 2.4 决策树的三种算法实现
        • 2.5 决策树API
      • 3、案例:泰坦尼克号乘客生存预测
        • 3.1 分析
        • 3.2 代码
        • 3.3 保存树的结构到dot文件
      • 4、 决策树总结
  • 第五章关联规则
    • 1、关联规则的概念
    • 2、关联规则的挖掘过程
    • 3、Apriori 算法
    • 4、实验实现Apriori 算法
    • 5、协同过滤算法的概念
    • 6、协同过滤案例(基于用户)
  • 第六章图像分析
    • 1.图像数据概论
    • 2.人脸识别
    • 3.人脸识别与PCA
    • 4.OpenCV入门
      • 1.图像基本操作
        • 数据读取-图像
        • 数据读取-视频
        • 颜色通道提取
        • 边界填充
        • 数值计算
        • 图像融合
      • 2.图像处理
        • 灰度图
        • HSV
        • **图像阈值**
        • 图像平滑
        • 形态学-腐蚀操作
        • 形态学-膨胀操作
        • 开运算与闭运算
        • 梯度运算
        • 礼帽与黑帽
      • 3.图像梯度与轮廓
        • Sobel算子
        • Scharr算子
        • laplacian算子
        • Canny边缘检测
        • 图像金字塔
        • 图像轮廓
        • 傅里叶变换
        • 滤波
      • 4.直方图与模板匹配
        • 直方图
        • mask操作
        • 直方图均衡化
        • 自适应直方图均衡化
        • 模板匹配
        • 匹配多个对象
      • 5.银行卡识别案例
        • 1.前期准备
        • 2.对模板图像进行预处理操作
        • 3.对信用卡进行处理

第一章数据挖掘

数据挖掘概念

数据挖掘一般是指从大量的数据中通过算法搜索隐藏于其中信息,从数据中发现有用的信息,从而帮助我们做出决策

数据挖掘做什么:1预测和描述数据,预测的计算机和事件过程被称为监督学习:从标记的训练数据来推断一个功能的机器学习任务
描述则被通常称为无监督学习:根据位置样本决绝模式识别中的各种问题
知识发现KDD:1)定义知识发现的目标
2)数据采集
3)数据探索
4)特征工程与数据预处理

数据挖掘的模式类型

​ 类/概念描述:特征和区分:类/概念描述就是通过对某类对象的关联数据进行处理、汇总和分析,概括这类对象的属性特征,再用精简的的方式对此类对象的内涵进行描述
​ 回归(regression):回归分析是确定两种或两种以上变量间相互依赖的定量关系的一种统计分析方法,这是统计学中对回归分析的定义,不大容易理解
​ 分类(classification):分类算法是将我们思考的过程进行了自动化或半自动化。数据挖掘中的分类典型的应用是根据事物在数据层面表现的特征,对事物进行科学的分类。分类与回归的区别在于:回归可用于预测连续的目标变量,分类可用于预测离散的目标变量。
​ 预测(forecasting):预测是在基于历史数据采用某种数学模型来预测未来的一种算法,即以现有数据为基础,对未来的数据进行预测。预测可以发现客观事物运行规律,预见到未来可能出现的情况,提出各种可以互相替代的发展方案,这样就为人们的决策制定提供了科学依
​ 关联分析(association):关联分析用来发现描述数据中强关联特征的模式
​ 聚类分析(cluster):聚类分析是一种理想的多变量统计技术。聚类分析的思想可用“物以类聚”来表述,讨论的对象是大量无标签值的样本,要求能按样本的各自特征在无标签的情况下对样本进行分类,是在没有先验知识的情况下进行的
​ 异常检测(anomalydetection):异常检测的目的是识别出数据特征显著区别于其它数据的异常对象(离群点或是异常点)

第二章机器学习

1 机器学习分类

传统机器学习
机器学习可以理解成是生产算法的算法。需要人来先做特征提取,然后在把特征向量化后交给机器去训练。
传统机器学习分为 监督学习 和 无监督学习。

深度学习
深度学习是基于深度神经网络的学习(DNN)。深度学习可以自动提取特征。深度学习可以采用 End-to-End 的学习方式,只需要进行很少的归一化和白化,就可以将数据交给模型去训练。

2 机器学习中的一些概念

首先我们需要了解几个机器学习中的起码要知道是怎么回事的概念,了解了后面看代码才不会一脸懵逼。

训练样本

就是用于训练的数据。包括了现实中的一些信息数据,以及对应的结果,也就是标签。

训练

对训练样本的特征进行统计和归纳的过程。

分类模型

总结出的特征,判断标准。

验证

用测试数据集验证模型是否正确的过程。这个过程是在模型训练完后进行的,就是再用另外一些样本数据,代入到模型中去,看它的准确率如何。

第三章无监督学习

聚类

K-means聚类算法

kmeans 算法以 k 为参数,把 n 个对象分成 k 个簇,使簇内具有较高的相似度,而簇间的相似度较低。其处理过程如下:
1.随机选择 k 个点作为初始的聚类中心;
2.对于剩下的点,根据其与聚类中心的距离,将其归入最近的簇
3.对每个簇,计算所有点的均值作为新的聚类中心
4.重复 2 、 3 直到聚类中心不再发生改变

K-means应用

DBSCAN聚类算法

DBSCAN算法是一种基于密度的聚类算法:聚类的时候不需要预先指定簇的个数最终的簇的个数不定

DBSCAN
算法将数据点分为三类:
核心 点:在半径 Eps 内含有超过 MinPts 数目的 点
边界点:在半径 Eps 内点的数量小于 MinPts ,但是落在核心点的邻域 内
噪音点:既不是核心点也不是边界点的点

DBSCAN算法流程:
1.将所有点标记为核心点、边界点或噪声点;
2.删除噪声点;
3.为距离在 Eps 之内的所有核心点之间赋予一条边;
4.每组连通的核心点形成一个簇;
5.将每个边界点指派到一个与之关联的核心点的簇中(哪一个核心点的半径范围之内)。

DBSACN应用

降维

主成分分析(PCA)

主成分分析( Principal Component Analysis PCA )是最常用的一种降维方法,通常用于高维数据集的探索与可视化,还可以用作数据压缩和预处理等。
PCA 可以把具有相关性的高维变量合成为线性无关的低维变量,称为主成分。主成分能够尽可能保留原始数据的信息。

原理:矩阵的主成分就是其协方差矩阵对应的特征向量,按照对应的特征值大小进行排序,最大的特征值就是第一主成分,其次是第二主成分,以此类推。

在介绍PCA 的原理之前需要回顾涉及到的相关术语:

方差

协方差和协方差矩阵

特征向量和特征值

算法过程

可以看出,降维后的数据仍能够清晰地分成三类。这样不仅能削减数据的维度,降低分类任务的工作量,还能保证分类的质量。

基于聚类的“图像分割”实例 编写

图像分割:利用图像的灰度、颜色、纹理、形状等特征,把 图像 分成 若干 个 互不重叠 的 区域,并使这些特征在同一区域内呈现相似性,在不同的区
域之间存在明显的差异性 。 然后就可以将分割的图像中 具有 独特性质的 区域提取 出来用于不同的研究。图像分割技术已在实际生活中得到广泛的应用。例如:在机车检验领域,可以应用到轮毂裂纹图像的分割,及时发现裂纹,保证行车安全;在生物医学工程方面,对肝脏 CT 图像进行分割,为临床治疗和病理学研究提供帮助。

图像分割常用方法:
1.阈值分割:对图像灰度值进行度量,设置不同类别的阈值,达到分割的目的。
2.边缘分割:对图像边缘进行检测,即检测图像中灰度值发生跳变的地方,则为一片区域的边缘。
3.直方图法:对图像的颜色建立直方图,而直方图的波峰波谷能够表示一块区域的颜色值的范围,来达到分割的目的。
4.特定理论:基于 聚类分析 、小波变换等理论完成图像分割。

import numpy as np
import PIL.Image as image 加载 PIL 包,用于加载创建图片
from sklearn.cluster import KMeans 加载 Kmeans 算法#加载训练数据
def loadData(filePath):f = open(filePath,'rb')#以二进制形式代开文件data = [] #一列表形式返回像素值img = image.open(f)m,n = img.size   #图片大小for i in range(m):for j in range(n):x,y,z = img.getpixel((i,j))data.append([x/256.0,y/256.0,z/256.0])f.close()return np.mat(data),m,n  #以矩阵形式返回data和图片大小imgData,row,col = loadData('kmeans/bull.jpg')
label = KMeans(n_clusters=4).fit_predict(imgData)  #其中n_clusters属性指定了聚类中心的个数为3#聚类获取每个像素所属类别
label = label.reshape([row,col])
#创建灰色图片保存聚类后的效果
pic_new = image.new("L", (row, col))
for i in range(row):for j in range(col):pic_new.putpixel((i,j), int(256/(label[i][j]+1)))
pic_new.save("result-bull-4.jpg", "JPEG")

第四章监督学习

1、 数据集的划分

机器学习一般的数据集会划分为两个部分:

  • 训练数据:用于训练,构建模型
  • 测试数据:在模型检验时使用,用于评估模型是否有效

划分比例:

  • 训练集:70% 80% 75%

  • 测试集:30% 20% 30%

  • sklearn.model_selection.train_test_split(arrays, *options)

    • x 数据集的特征值
    • y 数据集的标签值
    • test_size 测试集的大小,一般为float
    • random_state 随机数种子,不同的种子会造成不同的随机采样结果。相同的种子采样结果相同。
    • return ,测试集特征训练集特征值值,训练标签,测试标签(默认随机取)

结合后面的数据集作介绍

sklearn数据集介绍

API
  • sklearn.datasets

    • 加载获取流行数据集
    • datasets.load_*()
      • 获取小规模数据集,数据包含在datasets里
    • datasets.fetch_*(data_home=None)
      • 获取大规模数据集,需要从网络上下载,函数的第一个参数是data_home,表示数据集下载的目录,默认是 ~/scikit_learn_data/
分类和回归数据集
  • 分类数据集

  • sklearn.datasets.fetch_20newsgroups(data_home=None,subset=‘train’)

    • subset: ‘train’或者’test’,‘all’,可选,选择要加载的数据集.训练集的“训练”,测试集的“测试”,两者的“全部”
  • 回归数据集

返回类型

load和 fetch返回的数据类型datasets.base.Bunch(字典格式)

  • data:特征数据数组,是 [n_samples * n_features] 的二维 numpy.ndarray 数组
  • target:标签数组,是 n_samples 的一维 numpy.ndarray 数组
  • DESCR:数据描述
  • feature_names:特征名,新闻数据,手写数字、回归数据集没有
  • target_names:标签名

2、sklearn转换器和估计器

1.1 转换器

想一下之前做的特征工程的步骤?

  • 1、实例化 (实例化的是一个转换器类(Transformer))
  • 2、调用fit_transform(对于文档建立分类词频矩阵,不能同时调用)

我们把特征工程的接口称之为转换器,其中转换器调用有这么几种形式

  • fit_transform
  • fit
  • transform

这几个方法之间的区别是什么呢?我们看以下代码就清楚了

In [1]: from sklearn.preprocessing import StandardScalerIn [2]: std1 = StandardScaler()In [3]: a = [[1,2,3], [4,5,6]]In [4]: std1.fit_transform(a)
Out[4]:
array([[-1., -1., -1.],[ 1.,  1.,  1.]])In [5]: std2 = StandardScaler()In [6]: std2.fit(a)
Out[6]: StandardScaler(copy=True, with_mean=True, with_std=True)In [7]: std2.transform(a)
Out[7]:
array([[-1., -1., -1.],[ 1.,  1.,  1.]])

从中可以看出,fit_transform的作用相当于transform加上fit。但是为什么还要提供单独的fit呢, 我们还是使用原来的std2来进行标准化看看

In [8]: b = [[7,8,9], [10, 11, 12]]In [9]: std2.transform(b)
Out[9]:
array([[3., 3., 3.],[5., 5., 5.]])In [10]: std2.fit_transform(b)
Out[10]:
array([[-1., -1., -1.],[ 1.,  1.,  1.]])

1.2 估计器(sklearn机器学习算法的实现)

在sklearn中,估计器(estimator)是一个重要的角色,是一类实现了算法的API

  • 1、用于分类的估计器:

    • sklearn.neighbors k-近邻算法
    • sklearn.naive_bayes 贝叶斯
    • sklearn.linear_model.LogisticRegression 逻辑回归
    • sklearn.tree 决策树与随机森林
  • 2、用于回归的估计器:
    • sklearn.linear_model.LinearRegression 线性回归
    • sklearn.linear_model.Ridge 岭回归
  • 3、用于无监督学习的估计器
    • sklearn.cluster.KMeans 聚类

1.3 估计器工作流程

3、K-近邻算法(KNN)

1.1 定义

如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别。

来源:KNN算法最早是由Cover和Hart提出的一种分类算法

1.2 距离公式

两个样本的距离可以通过如下公式计算,又叫欧式距离

2、电影类型分析

假设我们有现在几部电影

其中? 号电影不知道类别,如何去预测?我们可以利用K近邻算法的思想

2.1 问题

  • 如果取的最近的电影数量不一样?会是什么结果?

2.2 K-近邻算法数据的特征工程处理

  • 结合前面的约会对象数据,分析K-近邻算法需要做什么样的处理

3、K-近邻算法API

  • sklearn.neighbors.KNeighborsClassifier(n_neighbors=5,algorithm=‘auto’)

    • n_neighbors:int,可选(默认= 5),k_neighbors查询默认使用的邻居数
    • algorithm:{‘auto’,‘ball_tree’,‘kd_tree’,‘brute’},可选用于计算最近邻居的算法:‘ball_tree’将会使用 BallTree,‘kd_tree’将使用 KDTree。‘auto’将尝试根据传递给fit方法的值来决定最合适的算法。 (不同实现方式影响效率)

4、案例:预测签到位置

数据介绍:将根据用户的位置,准确性和时间戳预测用户正在查看的业务。

train.csv,test.csv
row_id:登记事件的ID
xy:坐标
准确性:定位准确性
时间:时间戳
place_id:业务的ID,这是您预测的目标

官网:https://www.kaggle.com/navoshta/grid-knn/data

https://pan.baidu.com/s/1q3PV0Z1PRH-G9eKrVus7Kw 提取码:n1nb

4.1 分析
  • 对于数据做一些基本处理(这里所做的一些处理不一定达到很好的效果,我们只是简单尝试,有些特征我们可以根据一些特征选择的方式去做处理)

    • 1、缩小数据集范围 DataFrame.query()

    • 4、删除没用的日期数据 DataFrame.drop(可以选择保留)

    • 5、将签到位置少于n个用户的删除

      place_count = data.groupby(‘place_id’).count()

      tf = place_count[place_count.row_id > 3].reset_index()

      data = data[data[‘place_id’].isin(tf.place_id)]

  • 分割数据集

  • 标准化处理

  • k-近邻预测

4.2 代码
import numpy as np
import pandas as pd
from sklearn.preprocessing import LabelEncoder
from sklearn.neighbors import KNeighborsClassifier
def knncls():"""K近邻算法预测入住位置类别:return:"""# 一、处理数据以及特征工程# 1、读取收,缩小数据的范围data = pd.read_csv("./data/FBlocation/train.csv")# 数据逻辑筛选操作 df.query()data = data.query("x > 1.0 & x < 1.25 & y > 2.5 & y < 2.75")# 删除time这一列特征data = data.drop(['time'], axis=1)print(data)# 删除入住次数少于三次位置place_count = data.groupby('place_id').count()tf = place_count[place_count.row_id > 3].reset_index()data = data[data['place_id'].isin(tf.place_id)]# 3、取出特征值和目标值y = data['place_id']# y = data[['place_id']]x = data.drop(['place_id', 'row_id'], axis=1)# 4、数据分割与特征工程?# (1)、数据分割x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=0.3)# (2)、标准化std = StandardScaler()# 队训练集进行标准化操作x_train = std.fit_transform(x_train)print(x_train)# 进行测试集的标准化操作x_test = std.fit_transform(x_test)# 二、算法的输入训练预测# K值:算法传入参数不定的值    理论上:k = 根号(样本数)# K值:后面会使用参数调优方法,去轮流试出最好的参数[1,3,5,10,20,100,200]knn = KNeighborsClassifier(n_neighbors=1)# 调用fit()knn.fit(x_train, y_train)# 预测测试数据集,得出准确率y_predict = knn.predict(x_test)print("预测测试集类别:", y_predict)print("准确率为:", knn.score(x_test, y_test))return None
knncls()

3千万条数据准确率比较低

4.3 结果分析
准确率: 分类算法的评估之一
  • 1、k值取多大?有什么影响?

k值取很小:容易受到异常点的影响

k值取很大:受到样本均衡的问题

  • 2、性能问题?

距离计算上面,时间复杂度高

5、K-近邻总结

  • 优点:

    • 简单,易于理解,易于实现,无需训练
  • 缺点:
    • 懒惰算法,对测试样本分类时的计算量大,内存开销大
    • 必须指定K值,K值选择不当则分类精度不能保证
  • 使用场景:小数据场景,几千~几万样本,具体场景具体业务去测试

4、模型选择与调优

1、为什么需要交叉验证

交叉验证目的:为了让被评估的模型更加准确可信

2、什么是交叉验证(cross validation)

它的基本思想就是将原始数据(dataset)进行分组,一部分做为训练集来训练模型,另一部分做为测试集来评价模型。

2.1 分析

我们之前知道数据分为训练集和测试集,但是**为了让从训练得到模型结果更加准确。**做以下处理

  • 训练集:训练集+验证集
  • 测试集:测试集

问题:那么这个只是对于参数得出更好的结果,那么怎么选择或者调优参数呢?
3、超参数搜索-网格搜索(Grid Search)

通常情况下,有很多参数是需要手动指定的(如k-近邻算法中的K值),这种叫超参数。但是手动过程繁杂,所以需要对模型预设几种超参数组合。每组超参数都采用交叉验证来进行评估。最后选出最优参数组合建立模型。

3.1 模型选择与调优
  • sklearn.model_selection.GridSearchCV(estimator, param_grid=None,cv=None)

    • 对估计器的指定参数值进行详尽搜索
    • estimator:估计器对象
    • param_grid:估计器参数(dict){“n_neighbors”:[1,3,5]}
    • cv:指定几折交叉验证
    • fit:输入训练数据
    • score:准确率
    • 结果分析:
      • bestscore:在交叉验证中验证的最好结果_
      • bestestimator:最好的参数模型
      • cvresults:每次交叉验证后的验证集准确率结果和训练集准确率结果
4、Facebook签到位置预测K值调优
  • 使用网格搜索估计器
# 使用网格搜索和交叉验证找到合适的参数
knn = KNeighborsClassifier()param = {"n_neighbors": [3, 5, 10]}gc = GridSearchCV(knn, param_grid=param, cv=2)gc.fit(x_train, y_train)print("选择了某个模型测试集当中预测的准确率为:", gc.score(x_test, y_test))# 训练验证集的结果
print("在交叉验证当中验证的最好结果:", gc.best_score_)
print("gc选择了的模型K值是:", gc.best_estimator_)
print("每次交叉验证的结果为:", gc.cv_results_)

5、朴素贝叶斯分类方法

1、什么是朴素贝叶斯

2、 概率基础

2.1 概率(Probability)定义
  • 概率定义为一件事情发生的可能性

    • 扔出一个硬币,结果头像朝上
    • 某天是晴天
  • P(X) : 取值在[0, 1]
2.2 女神是否喜欢计算案例

在讲这两个概率之前我们通过一个例子,来计算一些结果:

  • 问题如下:

那么其中有些问题我们计算的结果不正确,或者不知道计算,我们有固定的公式去计算

2.3 条件概率与联合概率
  • 联合概率:包含多个条件,且所有条件同时成立的概率

    • 记作:P(A,B)
    • 特性:P(A, B) = P(A)P(B)
  • 条件概率:就是事件A在另外一个事件B已经发生条件下的发生概率
    • 记作:P(A|B)
    • 特性:P(A1,A2|B) = P(A1|B)P(A2|B)

注意:此条件概率的成立,是由于A1,A2相互独立的结果(记忆)

这样我们计算结果为:

p(程序员, 匀称) =  P(程序员)P(匀称) =3/7*(4/7) = 12/49
P(产品, 超重|喜欢) = P(产品|喜欢)P(超重|喜欢)=1/2 * 1/4 = 1/8

那么,我们知道了这些知识之后,继续回到我们的主题中。朴素贝叶斯如何分类,这个算法经常会用在文本分类,那就来看文章分类是一个什么样的问题?

这个了类似一个条件概率,那么仔细一想,给定文章其实相当于给定什么?结合前面我们将文本特征抽取的时候讲的?所以我们可以理解为

但是这个公式怎么求?前面并没有参考例子,其实是相似的,我们可以使用贝叶斯公式去计算

3、 贝叶斯公式

3.1 公式

那么这个公式如果应用在文章分类的场景当中,我们可以这样看:

公式分为三个部分:

  • P©:每个文档类别的概率(某文档类别数/总文档数量)
  • P(W│C):给定类别下特征(被预测文档中出现的词)的概率
    • 计算方法:P(F1│C)=Ni/N (训练文档中去计算)

      • Ni为该F1词在C类别所有文档中出现的次数
      • N为所属类别C下的文档所有词出现的次数和
  • P(F1,F2,…) 预测文档中每个词的概率

如果计算两个类别概率比较:

所以我们只要比较前面的大小就可以,得出谁的概率大

3.2 文章分类计算
  • 假设我们从训练数据集得到如下信息

  • 计算结果
科技:P(科技|影院,支付宝,云计算) = 												

机器学习笔记(机器学习很难么???那必然难啊!!!)相关推荐

  1. 机器学习笔记 - 机器学习基础面试题一

    1. 机器学习有哪些不同类型? 监督学习:模型根据过去或标记的数据做出预测或决策.例如,股票市场价格的预测.         无监督学习:没有标记数据.模型可以识别输入数据中的模式.异常和关系.例如, ...

  2. 机器学习笔记(六) ---- 支持向量机(SVM)

    支持向量机(SVM)可以说是一个完全由数学理论和公式进行应用的一种机器学习算法,在小批量数据分类上准确度高.性能好,在二分类问题上有广泛的应用. 同样是二分类算法,支持向量机和逻辑回归有很多相似性,都 ...

  3. 机器学习笔记——神经网络与深度学习

    机器学习笔记--神经网络与深度学习 一.神经网络引言 二.神经元模型与激活函数 2.1 神经元模型 2.2 激活函数 2.2.1 sigmoid & tanh 2.2.2 ReLU激活函数 2 ...

  4. 吴恩达机器学习笔记第一周

    第一周 吴恩达机器学习笔记第一周 一. 引言(Introduction) 1.1 欢迎 1.2 机器学习是什么? 1.3 监督学习 1.4 无监督学习 二.单变量线性回归(Linear Regress ...

  5. 机器学习笔记 (第一周)

    机器学习笔记 (第一周) 目录 机器学习笔记 (第一周) 引言(Introduction) 1.1 什么是机器学习,机器学习能做些什么事情 1.2 机器学习是什么? 1.3 监督学习 1.4 无监督学 ...

  6. 机器学习笔记之配分函数(一)对数似然梯度

    机器学习笔记之配分函数--对数似然梯度 引言 回顾:过去介绍配分函数的相关结点 配分函数介绍 配分函数在哪些情况下会"直面"到? 场景构建 包含配分函数的极大似然估计 引言 从本节 ...

  7. 机器学习笔记(5)——模型评价指标

    机器学习笔记(5)--模型评价指标 本文部分图片来源网络或学术论文,文字部分来源网络与学术论文,仅供学习使用. 目录 机器学习笔记(5)--模型评价指标 1.精确率.召回率.准确率.错误率 混淆矩阵 ...

  8. 吴恩达---机器学习笔记

    这是一个督促自己学习的笔记 文章目录 这是一个督促自己学习的笔记 第一节 1.1监督学习 1.2 无监督学习 第二节 2.1模型描述 2.2 代价函数 2.5 梯度下降 2.6 梯度下降知识点总结 2 ...

  9. 机器学习笔记之配分函数(三)对比散度

    机器学习笔记之配分函数--对比散度 引言 回顾:随机最大似然求解模型参数的过程 随机最大似然的缺陷 吉布斯采样的缺陷与对比散度思想 对比散度名称的由来 从 K L \mathcal K\mathcal ...

最新文章

  1. Input中onbeforepaste的作用
  2. 泛型TListT Generics.Collections单元
  3. MySQL实时获取有性能问题的SQL
  4. 第 0001 天:聊聊成长型思维模式者
  5. html5 音频事件,HTML5中视频和音频核心事件的相关研究
  6. c语言 键盘输入结构体,C语言结构体问题
  7. java Sting类函数
  8. log4j.xml配置示例
  9. 基于MeanShift的Camshift算法原理详解(opencv实现,有源码)
  10. [论文总结] 深度学习在农业领域应用论文笔记2
  11. kiss原则包括什么_KISS原则
  12. 基于php+mysql的企业人事管理系统
  13. 关于FTTx(Fiber To The X:光纤接入)
  14. Android仿苹果电量显示
  15. 华为鸿蒙新机是哪款,华为新机来了!预装鸿蒙 OS,搭载麒麟 9000!
  16. 快递是否签收,分享小技巧查询物流查看已签收件
  17. 【SPDK文件系统-Blob FS】
  18. Android使用SimpleDateFormat不同手机有时格式化手机不准确
  19. Pytorch 语义分割DeepLabV3+ 训练自己的数据集
  20. java超时事务回滚_查询超时和事务回滚的处理办法

热门文章

  1. iFixit高清完整拆解:iPhone 7 Plus
  2. java 实现图片旋转_java实现图片旋转
  3. 深圳成为乌拉圭智慧城市解决方案输出地
  4. 上市企业统计面板数据集(2011-2020年)
  5. java解析mpp文件(包含层级关系)
  6. hosts文件如何修改?已解决
  7. Bootstrap下拉菜单(Dropdown)插件实现隐藏操作按钮的简单实现
  8. 关于el-upload看这一篇就够了
  9. 全国电子商务人才专业化从业认证考试初级教程(公共基础教程)(全国电子商务人才丛业能力教育指定教材)
  10. 计算网络之云运维发展历史