- 人类的学习:发现知识、运用知识;
- 机器学习:(Machine Learning,缩写ML)
- 建立模型、应用模型;
- 如果一个系统能够通过执行某个过程改进其性能,这就是学习;(H.A.Simon)
- 给定任务T和损失函数L(即性能度量P,或称作学习策略R),借助样本数据集D(历史数据)和学习算法A,训练处最优(损失最小)模型(用函数f表示),然后使用该模型对新样本进行预测;
常用的应用场景
- 数据挖掘;
- 利用历史数据进行决策;
- 依据商品之间的关联性进行商品摆放与分类;
- 优惠券的定向发放;
- 信用卡风险分析;
- 交易风险分析;
- 利用历史数据进行决策;
- 个性化相关操作;
- 垃圾邮件过滤(机器学习算法最先应用的领域之一);
- 猜你喜欢、个性化推荐;
- 不想人工/人工难以实现的功能;
- 语音识别;
- 图像识别;
- 手写识别;
- 自动驾驶;
百科
- 机器学习是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科;
- 专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能;
- 它是人工智能核心,是使计算机具有智能的根本途径;
根据面积计算房价(Python实现)
基本过程
- 以几何形式展现数学模型;
- 机器学习;
- 模型假设;
- 通过研究确定输入输出之间的数学关系;
- 训练、拟合、学习;
- 通过实际样本数据来确定模型参数;
- 预测;
- 使用模型进行工作;
- 模型假设;
- 编程实现;
代码
- ML.py
class LinearModel: # 定义线性模型类 def __init__(self): # 定义类的构造方法 self.omega = 0 # 待定系数 self.b = 0 # 待定系数 def fit(self, x_train, y_train): # 定义训练方法的模型 self.omega = (y_train[0] - y_train[1])/(x_train[0] - x_train[1]) self.b = y_train[0] - x_train[0] * self.omega return def predict(self, x_test): # 定义使用模型进行预测的方法 y_test = self.omega * x_test + self.b return y_test # 返回预测结果
- test.py
from ML import LinearModel # 引入模块中的类 def main(): # 定义程序的主函数 temp = input("请输入房屋面积和对应房价数据(至少两对数据,且数据之间用空格隔开):") # 存放键盘输入的数据 list = temp.split(" ") # 将数据拆分成列表 X = [] Y = [] for i in range(len(list)): # 将列表元素对应存储 if i % 2 == 0: X.append(float(list[i])) else : Y.append(float(list[i])) HousepPrice = LinearModel() # 使用类创建对象 HousepPrice.fit(X, Y) # 调用类的函数 print( "经过计算得出:omega=", HousepPrice.omega, ",b=", HousepPrice.b, "。\n" ) x = float(input("请输入房屋面积(以平方米为单位):")) y = HousepPrice.predict(x) # 调用类的函数 print( "面积为",x,"平方米的房屋价格为:",y ) return main()