机器学习笔记

CHAPER 1

1.1 mytest1.py中

plt.scatter(dataMat[0],dataMat[1],c='red',marker='o')

会有错误,是因为scatter函数对输入数据有要求,需要时一维的数组,dataMat[0]是矩阵类型,改为

plt.scatter(array(dataMat[0]),array(dataMat[1]),c='red',marker='o')

1.2 矢量化编程

个人认为就是代码实现的便利性,传统语言针对标量,矩阵的运算本来是通过数组和循环进行,现在可以直接按照公式进行。

其中最主要的库就是NumPy,初始化如下:

import munpy as np
my_zeros = np.zeros([3,5])
my_ones = np.ones([3,5])
my_rand = np.random.rand(3,4)
me_eye = np.eye(3)

计算:

加减:+-
数乘:*
求所有元素和:sum()
对应每个元素乘积:multiply(,)
幂:power(,)
转置:transpose()
行列数:[m,n]=shape()
按行取:my_matrix[0]
按列取:my_matrix.T[0]

1.3 数学基础

相似性的度量——向量的距离

距离公式:

闵可夫斯基距离(Minkowski Distance),其实是一组距离的定义:
  p=1,曼哈顿距离;p=2,欧氏距离;p趋于无穷,切比雪夫距离。

 

——切比雪夫距离。

夹角余弦——衡量两个向量方向的差异。

汉明距离——两个等长字符串不等的个数。

杰卡德相似系数——两个集合交集在并集中的比例,衡量两个集合的相似度,对应有杰卡德距离,1减相似系数,1-J

贝叶斯公式P(B|A)=P(A|B)P(B)/P(A).

向量×矩阵:线性空间转换

矩阵乘法:向量组空间变换

你可能感兴趣的:(ML)