wuyage

机器学习实践-开篇

0
阅读(2276)

过去的2016年,发生的一件大事是阿尔法狗战胜李世石,这一事件进一步的将人工智能,机器学习带入到人们的视野中。 机器学习这么火,我也想学一下。废话不多说,本人买了一本《机器学习实战》书,豆瓣连接:https://book.douban.com/subject/24703171/,计划在2017年好好研究一番。

看完了第一章做了笔记,

blob.png

何谓机器学习?

多学科

计算机科学

工程技术

统计学

简单的说,机器学习是把无序的数据转换为有用的的信息

对于某类任务 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等价


机器学习基础.rar


另外说下win7 64bit Python+Numpy+Scipy+Matplotlib 安装方法:

1)先安装Python,默认安装路径

python-2.7.9.amd64.rar


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

http://stackoverflow.com/questions/4151128/what-are-the-differences-between-numpy-arrays-and-matrices-which-one-should-i-u


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







Baidu
map