机器学习——算法介绍-4

文章目录

  • 算法类别
    • 回归算法-线性回归分析
    • 线性回归
    • 损失函数(误差大小
    • 最小二乘法之正规方程
    • 损失函数直观图(单变量举例)
    • 最小二乘法之梯度下降
    • 正规方程与梯度下降的对比?
    • 线性回归实例
    • 波士顿房价数据案例分析流程
    • 回归性能评估
    • sklearn回归评估API
    • mean_squared_error
    • 1、LinearRegression与SGDRegressor评估
    • 问题:训练数据训练的很好啊,误差也不大,为什么在测试集上 面有问题呢?
    • 过拟合与欠拟合
    • 欠拟合原因以及解决办法
    • 过拟合原因以及解决办法
    • L2正则化
    • 带有正则化的线性回归-Ridge
    • Ridge
    • 线性回归 LinearRegression与Ridge对比
    • 分类算法-逻辑回归
    • sigmoid函数
    • 逻辑回归公式
    • 逻辑回归的损失函数、优化(了解)
    • sklearn逻辑回归API
    • LogisticRegression
    • LogisticRegression回归案例
    • 良/恶性乳腺癌肿数据
    • pandas使用
    • 良/恶性乳腺癌肿分类流程
    • LogisticRegression总结
    • 多分类问题
    • 非监督学习的特点?
    • 非监督学习(unsupervised learning)
    • k-means步骤
    • k-means API
    • Kmeans
    • k-means对Instacart Market用户聚类
    • Kmeans性能评估指标
    • Kmeans性能评估指标API
    • silhouette_score
    • Kmeans总结

算法类别

1、回归算法-线性回归分析

2、线性回归实例

3、回归性能评估

4、分类算法-逻辑回归

5、逻辑回归实例

6、聚类算法-kmeans

7、k-means实例

回归算法-线性回归分析

期末成绩:0.7×考试成绩+0.3×平时成绩

西瓜好坏:0.2×色泽+0.5×根蒂+0.3×敲声
试图学得一个通过属性的线性组合来进行预测的函数:
f(x)=w_1x_1+w_2x_2+…+w_dx_d+b

w为权重,b称为偏置项,可以理解为:w_0×1

线性回归

定义:线性回归通过一个或者多个自变量与因变量之间之间进行建模的回归分析。其中特点为一个或多个称为回归系数的模型参数的线性组合

一元线性回归:涉及到的变量只有一个
多元线性回归:涉及到的变量两个或两个以上
机器学习——算法介绍-4_第1张图片
预测结果与真实值是有一定的误差

损失函数(误差大小

机器学习——算法介绍-4_第2张图片
如何去求模型当中的W,使得损失最小?
(目的是找到最小损失对应的W值)

最小二乘法之正规方程

注:X,y代表着什么?
在这里插入图片描述

X为特征值矩阵,y为目标值矩阵
缺点:当特征过于复杂,求解速度太慢
对于复杂的算法,不能使用正规方程求解(逻辑回归等)

损失函数直观图(单变量举例)

机器学习——算法介绍-4_第3张图片

最小二乘法之梯度下降

我们以单变量中的w0,w1为例子:
机器学习——算法介绍-4_第4张图片
理解:沿着这个函数下降的方向找,最后就能找到山谷的最低点,然后
更新W值

使用:面对训练数据规模十分庞大的任务
机器学习——算法介绍-4_第5张图片
机器学习——算法介绍-4_第6张图片

正规方程与梯度下降的对比?

sklearn线性回归正规方程、梯度下降API
sklearn.linear_model.LinearRegression
正规方程

sklearn.linear_model.SGDRegressor
梯度下降

LinearRegression、SGDRegressor
sklearn.linear_model.LinearRegression()
普通最小二乘线性回归
coef_:回归系数
sklearn.linear_model.SGDRegressor( )
通过使用SGD最小化线性模型
coef_:回归系数

线性回归实例

1、sklearn线性回归正规方程、梯度下降API
2、波士顿房价数据集分析流程

波士顿房价数据案例分析流程

1、波士顿地区房价数据获取

2、波士顿地区房价数据分割

3、训练与测试数据标准化处理

4、使用最简单的线性回归模型LinearRegression和
梯度下降估计SGDRegressor对房价进行预测

回归性能评估

(均方误差(Mean Squared Error)MSE) 评价机制:
机器学习——算法介绍-4_第7张图片

sklearn回归评估API

sklearn.metrics.mean_squared_error

mean_squared_error

mean_squared_error(y_true, y_pred)
均方误差回归损失
y_true:真实值
y_pred:预测值
return:浮点数结果

注:真实值,预测值为标准化之前的值
机器学习——算法介绍-4_第8张图片

1、LinearRegression与SGDRegressor评估

2、特点:线性回归器是最为简单、易用的回归模型。
从某种程度上限制了使用,尽管如此,在不知道特征之
间关系的前提下,我们仍然使用线性回归器作为大多数
系统的首要选择。
小规模数据:LinearRegression(不能解决拟合问题)以及其它
大规模数据:SGDRegressor

问题:训练数据训练的很好啊,误差也不大,为什么在测试集上 面有问题呢?

过拟合与欠拟合

过拟合:一个假设在训练数据上能够获得比其他假设更好的拟合, 但是在训练数据外的数据集上却不能很好地拟合数据,此时认为这个假设出现了过拟合的现象。(模型过于复杂)

欠拟合:一个假设在训练数据上不能获得更好的拟合, 但是在训练数据外的数据集上也不能很好地拟合数据,此时认为这个假设出现了欠拟合的现象。(模型过于简单)

欠拟合原因以及解决办法

原因:
学习到数据的特征过少
解决办法:
增加数据的特征数量

过拟合原因以及解决办法

原因:
原始特征过多,存在一些嘈杂特征,
模型过于复杂是因为模型尝试去兼顾
各个测试数据点
解决办法:
进行特征选择,消除关联性大的特征(很难做)
交叉验证(让所有数据都有过训练)
正则化(了解)
机器学习——算法介绍-4_第9张图片

L2正则化

作用:可以使得W的每个元素都很小,都接近于0
优点:越小的参数说明模型越简单,越简单的模型则越不
容易产生过拟合现象

带有正则化的线性回归-Ridge

sklearn.linear_model.Ridge

Ridge

sklearn.linear_model.Ridge(alpha=1.0)
具有l2正则化的线性最小二乘法

alpha:正则化力度
coef_:回归系数
观察正则化程度的变化,对结果的影响?

线性回归 LinearRegression与Ridge对比

岭回归:回归得到的回归系数更符合实际,更可靠。另外,能让
估计参数的波动范围变小,变的更稳定。在存在病态数据偏多的研
究中有较大的实用价值。

分类算法-逻辑回归

逻辑回归是解决二分类问题的利器
机器学习——算法介绍-4_第10张图片

sigmoid函数

机器学习——算法介绍-4_第11张图片

逻辑回归公式

机器学习——算法介绍-4_第12张图片
输出:[0,1]区间的概率值,默认0.5作为阀值
注:g(z)为sigmoid函数

逻辑回归的损失函数、优化(了解)

与线性回归原理相同,但由于是分类问题,
损失函数不一样,只能通过梯度下降求解
对数似然损失函数:
在这里插入图片描述
完整的损失函数:
在这里插入图片描述
cost损失的值越小,那么预测的类别准确度更高
机器学习——算法介绍-4_第13张图片
机器学习——算法介绍-4_第14张图片

sklearn逻辑回归API

sklearn.linear_model.LogisticRegression

LogisticRegression

sklearn.linear_model.LogisticRegression(penalty=‘l2’, C = 1.0)

Logistic回归分类器
coef_:回归系数

LogisticRegression回归案例

良/恶性乳腺癌肿瘤预测

良/恶性乳腺癌肿数据

原始数据的下载地址:
https://archive.ics.uci.edu/ml/machine-learning-databases/

数据描述
(1)699条样本,共11列数据,第一列用语检索的id,后9列分别是与肿瘤
相关的医学特征,最后一列表示肿瘤类型的数值。
(2)包含16个缺失值,用”?”标出。

pandas使用

pd.read_csv(’’,names=column_names)
column_names:指定类别名字,[‘Sample code number’,‘Clump Thickness’, ‘Uniformity of Cell Size’,‘Uniformity of Cell Shape’,‘Marginal Adhesion’,
‘Single Epithelial Cell Size’,‘Bare Nuclei’,‘Bland Chromatin’,‘Normal Nucleoli’,‘Mitoses’,‘Class’]
return:数据

replace(to_replace=’’,value=):返回数据
dropna():返回数据

良/恶性乳腺癌肿分类流程

1、网上获取数据(工具pandas)

2、数据缺失值处理、标准化

3、LogisticRegression估计器流程

LogisticRegression总结

应用:广告点击率预测、电商购物搭配推荐

优点:适合需要得到一个分类概率的场景

缺点:当特征空间很大时,逻辑回归的性能不是很好
(看硬件能力)

多分类问题

逻辑回归解决办法:1V1,1Vall
机器学习——算法介绍-4_第15张图片
softmax方法-逻辑回归在多分类问题上的推广
将在后面的神经网络算法中介绍

非监督学习的特点?

“物以类聚,人以群分”
机器学习——算法介绍-4_第16张图片

非监督学习(unsupervised learning)

主要方法:k-means

k-means步骤

1、随机设置K个特征空间内的点作为初始的聚类中心

2、对于其他每个点计算到K个中心的距离,未知的点选择最近的一个聚类
中心点作为标记类别

3、接着对着标记的聚类中心之后,重新计算出每个聚类的新中心点(平
均值)

4、如果计算得出的新中心点与原中心点一样,那么结束,否则重新进行
第二步过程

k-means API

sklearn.cluster.KMeans

Kmeans

sklearn.cluster.KMeans(n_clusters=8,init=‘k-means++’)
k-means聚类
n_clusters:开始的聚类中心数量
init:初始化方法,默认为’k-means ++’

labels_:默认标记的类型,可以和真实值比较(不是值比较)

k-means对Instacart Market用户聚类

1、降维之后的数据

2、k-means聚类

3、聚类结果显示

Kmeans性能评估指标

轮廓系数:
在这里插入图片描述
注:对于每个点i 为已聚类数据中的样本 ,b_i 为i 到其它族群的所有样本的平均距离,a_i 为i 到本身簇的距离平均值

最终计算出所有的样本点的轮廓系数平均值
机器学习——算法介绍-4_第17张图片

Kmeans性能评估指标API

sklearn.metrics.silhouette_score

silhouette_score

sklearn.metrics.silhouette_score(X, labels)
计算所有样本的平均轮廓系数
X:特征值
labels:被聚类标记的目标值

Kmeans总结

特点分析:
采用迭代式算法,直观易懂并且非常实用
缺点:容易收敛到局部最优解(多次聚类)
需要预先设定簇的数量(k-means++解决)

你可能感兴趣的