机器学习的定义:(使用octave编程环境)
1、在没有明确设置的情况下,使计算机具有学习能力——Samuel
2、 计算机程序从经验E中学习,解决某一任务T,进行某一性能度量P,通过P测定在T上的表现因经验E而提高——Tom Mitchell
机器学习算法分类:
1、监督学习(Supervised learning)
2、无监督学习(Unsupervised learning)
3、强化学习(Reinforcement learning)
4、推荐系统(Recommender systems)
监督学习
监督学习为根据数据进行预测结果,分别为回归问题和离散(分类)问题,支持向量机可以允许无穷多个变量。
无监督学习
很少或没有存在的例子,根据数据集的结构找出规律。无监督学习可以将数据集分成不同的簇,例子(谷歌新闻),算法:聚类算法。
模型描述
假设函数
根据已有的数据集得到的函数,并不唯一
代价函数(平方误差代价函数)
假设函数与代价函数
梯度下降算法(寻找代价函数最小值)
1、赋值参数的初始值;
2、改变参数值,算出代价函数值直到找到最小
梯度下降算法也叫做‘batch’梯度下降
矩阵和向量
矩阵是有方括号括起来的m行n列数,可以看做是一个多维数组;
向量是特殊的矩阵,它是只有一列的矩阵;
矩阵相乘不符合交换律,但可以结合律
单位矩阵:正对角线的数都是1,其余为0
逆矩阵:MXN=NXM=I(单位矩阵),那么N就是M的逆矩阵,只有方阵才有逆矩阵。没有逆矩阵的矩阵叫奇异矩阵或退化矩阵。
转置矩阵:把矩阵镜像,行变成列。
特征缩放减少计算时间
缩放到-1到1的附近
学习率选择
正规方程
梯队回归算法和正规方程比较
octave操作
- rand(m)
- randn(m)
- eye(m)
- sqrt(m)
- ==
- ~=
- format long, format short
- pi
- ;
- m:s:n
- dist(m)
- ones(m)
- zeros(m)
- disp(sprintf('2 decimals:%0.2f',a))
- && || xor(a,b)
- size(A)
- size(A,1):A矩阵的行数
- size(A,2):A矩阵的列数
- length(A):A矩阵最大维度的大小
- C:\Users\ang\Desktop:改变当前位置
- ls
- load featureX.dat 或者 load('featureX.dat'):加载文件
- who:显示工作目录的所有变量
- whos:显示变量的详细信息
- clear X:清除某个变量
- clear:清除所有变量
- v= priceY(1:10):将变量的前十个元素存入v变量
- save hello.dat v:将变量v存到hello.dat文档中并写入硬盘
- A(2,:) :返回第二 行的所有元素
- A(:,2) : 命令返回第二列
- A([1 3],:):取矩阵A第一行到第三行的元素
- A = [A, [100, 101, 102]]:加入新的矩阵
- A = [A;[100, 101, 102]]:加入新的矩阵