Python机器学习(一)

这是对《Python机器学习(Sebastian Raschka)》的学习知识点的总结。

本人学习没啥好办法,就是喜欢做笔记,做了好多笔记,后续有时间分栏分享一下。

# -*- coding: utf-8 -*-
"""
Created on Wed Sep 19 23:04:53 2018

@author: Lxiao217
"""
'''Python机器学习'''
'''
第一章和第二章 机器学习分类算法

Numpy:多维数组的存储和数据处理
pandas:方便处理表格类的数据的附加数据包
matplotlib:画图

感知器算法实现:
1、将权重初始化为0或者一个极小的随机数
2、迭代所有的样本:(1)计算输出值y(i);(2)更新权重
感知器收敛的前提是两个类别必须是线性可分的,且学习速率足够小。
感知器面临的最大问题是算法的收敛。如果两个类别可以通过线性超平面进行划分,则感知器算法一定会收敛。
如果无法线性可分,则权重会不断的更新,所以需要设置最大的迭代次数。

批梯度下降算法:权重的更新是基于训练集中的所有的样本完成的。
缺点:数据集巨大的时候算法的计算量巨大。
随机梯度下降算法:每次使用一个样本渐进的更新权重
优点:(1)权重更新频繁,能更快的收敛,但是误差曲面不及梯度下降平滑,但是也就是这样使得
随机梯度下降能够更快的跳出小范围的局部最优解,需要选择随机样本;
(2)可以用于在线学习,有新的数据输入模型的时候可以被用于实时的训练
小批次学习:介于梯度下降和随机梯度下降之间的一种技术,可以选择小批次的样本更新权重。
小批次学习可以使用向量化操作替代for循环,进一步提高学习算法的计算效率。

数据降维是无监督学习的一个子领域。无监督降维是数据特征预处理时常用的技术,用于清除数据中的噪声,
它能够在最大程度上保留相关信息的情况下将数据压缩到一个维度较小的子空间,但是可能会降低某些算法
在准确性方面的性能。

强化学习的目标是构建一个系统Agent,在与环境的交互的过程中提高系统的性能。

聚类是一种探索性数据分析技术。在没有任何相关先验信息的情况下,他可以帮助我们将数据划分为有意义的小的组别
(即簇cluster)。聚类是获取数据的结构信息,以及导出数据间有价值的关系的一种有很好的技术。
'''

'''第三章 使用scikit-learn(sklearn)实现机器学习分类算法'''
'''
训练机器学习的主要步骤:
1、特征的选择;
2、确定性能评价标准;
3、选择分类器机器优化算法;
4、对模型性能的评估;
5、算法的调优

使用scikit-learn训练感知器的思路:
1、导入样本集X和结果y
2、将数据划分为训练数据集和测试数据集:
from sklearn.cross_validation import train_test_split
这个函数在0.20版本会移走
3、对特征进行标准化处理:
from sklearn.preprocessing import StandardScaler
需要使用相同的缩放参数分别处理训练集和测试集以保证他们的值是彼此相当的。
4、训练感知器模型:
from sklearn.linear_model import Perceptron
调用fit方法进行训练
5、训练完成后,在测试数据集上对结果进行预测


'''

猜你喜欢

转载自blog.csdn.net/lxiao428/article/details/82847682