我的基础:上学期结合R语言学了一学期的偏理论的机器学习,数学公式看了不老少,但是最近打比赛,感觉实战方面很乏力,理论联系不了实际啊…而且我现在用的是python,现在临时刷吴恩达和李宏毅的感觉不太现实,对比了一下B站和YouTube上的教程,最终我选择了这套。后面学有余力再去看吴恩达的课。
打卡:第一天
一. 机器学习概念
输入训练数据 --> 学习模型(调参) --> 输出预测
我的理解:参数θ就是根据训练数据正反馈(鼓励)或者负反馈(惩罚)来不断优化的过程,这个过程就是机器在学习的过程。
二. 机器学习的分类
此处参考以下说法:
无监督学习 – Unsupervised learning | UL
-
监督学习(有标签):
个人理解:给定很多图片,是月亮的图片笔记为1,不是月亮的图片标记为0,机器学会分类后,再丢给它很多图片,让它判断哪些图片是月亮(即:预测标签)。
用途:
(1)回归:芝麻信用分是怎么得来的
(2)分类案例:如何预测离婚?
(3)主流监督学习算法:
各种机器学习算法的应用场景分别是什么(比如朴素贝叶斯、决策树、K 近邻、SVM、逻辑回归最大熵模型)?
(以下全部基于python)
①朴素贝叶斯算法
②决策树
③回归树
④逻辑回归
⑤线性回归
⑥SVM:
支持向量机通俗导论(理解SVM的三层境界)
sklearn支持向量机SVM
⑦KNN(K临近)
⑧神经网络 -
强化学习:小孩学走路
-
无监督学习(无标签):
个人理解:就像是没有标准答案的申论,但是还是得评分。
用途:
(1)发现异常数据(哪些用户洗钱了)
(2)细分用户(根据基础信息(性别年龄等)来提高广告针对性)
(3)推荐系统(行为联系行为,啤酒和尿布)
常用算法:
(1)聚类:
①K均值聚类
②层次聚类
tips:使用scipy进行层次聚类和k-means聚类
(2)降维:
①主成分分析PCA
②奇异值分解SVD
机器学习中的数学(5)-强大的矩阵奇异值分解(SVD)及其应用
python实现svd- 半监督学习:有些有标签有些没标签
三. 例子:预测价格(回归)
(1)建模:提供Train_data(Xi,Yi)–> 提取特征(房屋面积、朝向等)–> 选择算法(线性回归,决策树回归等)–> 建模
(2)预测:提供test_data(无Y),利用模型,预测Y
四. 机器学习一般流程
数据收集 --> 数据清洗 --> 特征工程 --> 数据建模 --> 模型的使用
五. python code实例:
- 简单二维图
#python code示例1
import math
import matplotlib.pyplot as plt
x = [float(i)/100.0 for i in range(1,300)] #float() 函数用于将整数和字符串转换成浮点数。比如1 --> 1.0
y = [math.log(i) for i in x] #log(i)返回以e为底的i的对数
plt.plot(x,y,'r-',lw = 3,label = 'log Curve') #'r-':红色实线,lw:线的粗细,log curve:对数函数,总结就是红色那条线标签是对数函数
#绘制的是二维图,就只需要两个变量
#要是三维图的话就任意加一个c。传入二维的散点a,b长度要一样
a = [x[20],x[175]] #含义和a = [0.2,1.75] 一样,引用了上面的x对应的函数
b = [y[20],y[175]] #含义和b = [math.log(0.2),math.log(1.75)]一样,引用了上面y对应的函数
plt.plot(a,b,'g-',lw = 2) #g-:绿色实线
plt.plot(a,b,'b*',markersize = 15,alpha = 0.75) #b*:蓝色星号 ,alpha是星号的透明度
plt.legend(loc = 'upper left') #标签放在左上角
plt.grid(1) #显示网格线,0是不显示
plt.xlabel('X') #x轴标签
plt.ylabel('log(X)')
plt.show()
#python code示例2
#做0-1的均匀分布
import numpy as np
u = np.random.uniform(0.0, 1.0, 10000) #(low,high,size)
plt.hist(u, bins = 80, facecolor = '#9999ff', alpha = 0.75)
plt.grid(True)
plt.show()
#0-1的正态分布
mu = 100 #mean of distribution
sigma = 20 #standard deviation of distribution
x = mu + sigma * np