机器学习实践-开篇
0赞过去的2016年,发生的一件大事是阿尔法狗战胜李世石,这一事件进一步的将人工智能,机器学习带入到人们的视野中。 机器学习这么火,我也想学一下。废话不多说,本人买了一本《机器学习实战》书,豆瓣连接: https://book.douban.com/subject/24703171/ ,计划在2017年好好研究一番。
看完了第一章做了笔记,
何谓机器学习?
多学科
计算机科学
工程技术
统计学
简单的说,机器学习是把无序的数据转换为有用的的信息
对于某类任务 T 和性能度量 P, 如果一个计算机程序在 T 上以 P 衡量的 性能随着经验 E 而自我完善,那么我们称这个计算机程序在从经验 E 学习。
机器学习的分类及算法
监督学习
分类
k-近邻
朴素贝叶斯
SVM
决策树
回归
线性回归
局部加权线性回归
Ridge回归
Lasso最小回归系数估计
无监督学习
聚类
k-means
DBSCAN
密度估计
最大期望算法
Parzen窗设计
关键术语
专家系统
特征(属性)
分类
训练集、训练样本
目标变量
机器学习算法的预测结果
类别(分类问题中的目标变量)
测试集
知识表示
表示
规则集
概率分布
如何选择合适的算法
考虑
目的
预测目标变量的值
监督学习
离散:分类
连续:回归
否则
无监督学习
离散:聚类
还需估计数据与每个分组的相似程度:密度估计
数据
特征值
离散/连续
是否存在缺失的值,为何
是否存在异常值,频率
开发机器学习应用程序的步骤
收集数据
准备输入数据
数据格式
分析输入数据
检查
空值
异常值
分析是否可以识别出模式
训练算法
无监督算法不需要
测试算法
监督算法
评估算法的目标变量值
无监督算法
其他评测手段检验算法成功率
使用算法
Python语言的优势
优势
语法清晰
可执行伪代码
易于操作纯文本文件
使用广泛,开发文档多
模块
SciPy和NumPy
Matplotlib
Pylab
缺点
性能
C++ Boost库
Cython和PyPy
NumPy函数库基础
命令
random.rand(4, 4)
生成4×4随机数组
mat()
数组转化为矩阵
.I
求逆
*
矩阵乘法
eye()
单位阵
NumPy中矩阵与数组的区别
可能结果不同
matrix与matlab的matrices等价
另外说下win7 64bit Python+Numpy+Scipy+Matplotlib 安装方法:
1)先安装Python,默认安装路径
2)再安装Numpy,NumPy是Python语言的一个扩充程序库。支持高级大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。
numpy-MKL-1.8.0.win-amd64-py2.7.rar
3)之后就可以使用了Numpy了
>>> from numpy import *
上述命令将NumPy函数库中的所有模块引入到当前的命名空间
>>> random.rand(4,4)
上述命令构造了一个4*4的随机数组
array([[ 0.15693841, 0.37749084, 0.19183268, 0.7386663 ],
[ 0.18912912, 0.92643707, 0.51435051, 0.42902081],
[ 0.74647494, 0.25516188, 0.10116776, 0.75080336],
[ 0.33784065, 0.78023326, 0.26876447, 0.94276886]])
关于Numpy中数组和矩阵的区别,可以参考:
http://blog.csdn.net/vincentlipan/article/details/20717163
4)Scipy 安装包如下,
SciPy是一个开源的Python算法库和数学工具包。
SciPy包含的模块有最优化、线性代数、积分、插值、特殊函数、快速傅里叶变换、信号处理和图像处理、常微分方程求解和其他科学与工程中常用的计算。
scipy_0.14.0.win_amd64_py2.7.rar
5)matplotlib 安装包如下,matplotlib 是python最著名的绘图库,它提供了一整套和matlab相似的命令API,十分适合交互式地行制图。
matplotlib-1.2.0.win32&win64-py2.7.zip
另外本书的源代码如下:
machinelearninginaction code.7z
参考:
1)https://zh.wikipedia.org/wiki/NumPy
2)http://m.blog.csdn.net/article/details?id=52202561
3)http://www.pythoner.com/238.html
4)https://www.zhihu.com/question/22094277
5)https://www.zhihu.com/question/19767007
6)http://book.51cto.com/art/201401/426520.htm
7)http://blog.csdn.net/luo123n/article/details/10027557
8)http://www.cnblogs.com/eastmount/p/5052871.html