fengdu78 / coursera-ml-andrewng-notes Goto Github PK
View Code? Open in Web Editor NEW吴恩达老师的机器学习课程个人笔记
吴恩达老师的机器学习课程个人笔记
最近在学习SVM,把笔记V5.32中SVM这一章的内容通读了一遍,发现了下面几处小错误,希望作者有时间能够修复这些错误。
P174
:第二段,我们同样可以看到,当z增大时,也就是相当于θTx增大时,z对应的值会变得非常小。
不是z
的值变得非常小,而应该是代价函数的值
变得非常小。
P178
:倒数第二段中,反之,如果y = 0,我们观察一下,函数cost0(z),它只有在z <= 1的区间里有函数值为0
。不是z <= 1
,而应该是z <= -1
。
P186
:第二段,这个θTx(i) > = 1 或者θTx(i) < -1的,约束是可以被p(i).x >= 1这个约束所代替的
。不是p(i).x >=1
而应该是p(i).||θ||
。
P190
:第四段中,得到hθ(x) = f1 + f2 + … + fn
,应该是hθ(x) = (theta1)f1 + (theta2)f2 + ... + (thetan)fn
。
在医学上,negative是阴性,positive是阳性。阴性表示良性(Benign),阳性表示恶性(Malignant)
更正:阴性类(negative class)和阳性类(positive class)
正如标题所说的,例如
plot_decision_boundary(lambda x: predict_dec(parameters, x.T), train_X, train_Y.flatten())
train_Y必须要进行flatten,才能work,不知道是否是我的问题,或者是plt更新了。
In [37]:
theta_min = np.matrix(result2[0])
predictions = predict(theta_min, X2)
correct = [1 if ((a == 1 and b == 1) or (a == 0 and b == 0)) else 0 for (a, b) in zip(predictions, y2)]
accuracy = (sum(map(int, correct)) % len(correct))
print ('accuracy = `{0}%'.format(accuracy))
在第四行的 len(correct) 的前面 % 应该是 /
而且 我用 / 的时候 与您之后的
model = linear_model.LogisticRegression(penalty='l2', C=1.0)
model.fit(X2, y2.ravel())
model.score(X2, y2)
结果一致 您看一下是否有问题呢
感谢您的无私帮助
我觉得关键的测试:首先,一个人类专家看到了特征值
最后一句,看英文我也没太明白,我觉得是[1同时做到这两点],[2才会得到一个好算法]。 但是对1取反,怎么结果还是2?
据说还有个给研究生的版本,好像是CS229
epub 文件在移动设备上体验会好很多
可以提供个epub文件
或者提供导出为epub 文件的方法
如题
笔记补充更正
笔记错误的地方请在这里跟帖,我修改好了也会在这里跟帖。
错误格式:笔记版本+页码+错误的地方,并附上修改的地方。
谢谢大家!
机器学习个人笔记完整版v5.2-A4打印版 P43 关于转置矩阵有个笔误,左边矩阵的c写成了b。
大佬,我注意到在Markdown里的数学公式中的中括号都是直接使用的键盘上的 [ 和 ] ,这样的效果不太好,建议使用 \left[ 和 \right] 这样的中括号会比较高大美观 [手动狗头]
data = feature_mapping(x1, x2, power=6)
print(data.shape)
data.head()
Accepted Ones F00 F10 F01 F20 F110 F02 ......顺序有问题啊!!!
看到的麻烦回复下呗!!!
Markdown 格式的文档,week1 里面 @fengdu78
pdf版本,第六周,11.5节,117页,图片下面的一句话“这些趋势非常明显首先大部分算法”中间缺一个标点符号。
改了之后麻烦把这个issue关掉吧,我之前没有看到有专门的反馈小错误的issue。
coursera 可能是内容排版修改了。
第131页“二类分类:𝑆𝐿 = 0, 𝑦 = 0 𝑜𝑟 1表示哪一类;”其中应该改为:SL=1,表示最后输出层只有一个神经元。
word第45页增加内容中“其中X为m行n列矩阵”应为“其中X为m行n+1列矩阵”(第36页末尾提到过这一点),同时这一段后面也应相应修改X与theta的维度
141页(总页数),最后那个复杂的代价函数,最后sita前对j求和,应该是下标l+1,不是Sl+1
word版笔记54页,html版week2,4.7正规方程及不可逆性中=1/2 (θ^T X^T Xθ-θ^T X^T y-y^T Xθ-y^T y)应为=1/2 (θ^T X^T Xθ-θ^T X^T y-y^T Xθ+y^T y)
PDF版笔记P67
“接下来一个操作,让我们把A设为 A = [A, [100, 101, 102]]”
应改为:
“接下来一个操作,让我们把A设为 A = [A, [100; 101; 102]]”
感谢您做出的贡献。
in chapter 6.5
“这将我们将得到某个参数” should be replace “这将使我们将得到某个参数” or “这样我们将得到某个参数”
按照视频中的算法,算出概率后应该再按行进行相乘算出每个样例的概率。之后再进行阈值选择,正确做出来后右上那个点也应该标记为红。
https://github.com/lyx599/ML-AndrewNg-homework/blob/master/ex8_anomaly_detection_and_recommendation/anomaly_detection.ipynb 这是我自己实现的
首先,十分感谢你分享的python版参考答案!每次自己写完,再看看你的思路,总有新的收获。
我注意到比较大的问题是(练习8末尾你自己也提到了)——“推荐的电影实际上并不符合练习文本中的内容”。这其实是Y值的normalization导致的,而吴老师在课上也没有提到这个问题(实际上他自己也算错了)。
Normalize可以形象地理解为“大众审美”:一部电影的评分用户越少,则其feature就越未知(最终求得x趋近于0),则对于任意用户,无论其对各feature的喜好(theta)如何,ta对该电影的可能评分更趋近于平均分(x * theta + Ymean ≈ 0 + Ymean ≈ Ymean)。但现实中,很多电影的评分人数极少,平均分则容易出现极端值;比如Star Kid (1997),三人评分为5,平均分高达5。于是在大多数情况下,协同过滤会预测Star Kid评分为5,于是它被列为最推荐的电影(在本题的条件下,求得x * theta = 0.00000028532343,所以最终结果甚至大于5)。
为了避免这种“少数代表多数”的错误,我们可以设定:当某部电影的评分总人数(R[i, :])小于某值L时,不对它进行normalize处理,即Ymean=0。预测评分x * theta + Ymean ≈ 0 + 0 ≈ 0。现实意义可理解为——由于观看人数不足,完全不推荐。
另外值得一提的是,随着电影评分人数增加,其feature越可知,即便人数低于L、使Ymean=0,但由于算法求得的x不再全部趋于0,对于有足够评分的用户(theta也不全趋于0),有可能预测评分x * theta + Ymean > 0。这意味着,我们并不是把所有评分人数不够的电影都预测为0分,而只是相对于那些评分人数足够多的电影,我们不推荐它们。
还有一种思路是,设[(每个用户的平均评分)的平均值]为评分不足人数的电影的平均评分(当用户评分电影过少时,其Ymean可记为0),来代替将Ymean“简单粗暴”地设为0。但这种方法并不影响评分人数足够多的电影的预测评分,因此不赘述。
最后提一个很有意思的点。在吴老师的作业模板里,尽管他通过“[Ynorm, Ymean] = normalizeRatings(Y, R);”计算了Ynorm,但在训练时使用 fmincg计算theta时使用的却是Y!这样算下来的x * theta本身就可能是一个较为合理预测值了,再加上Ymean,导致出现预测评分高达8、9的情况(不难分析,预测评分大概率是1-5分间的值)。
附上我的结果(n=10,maxiter=100):
Predicted rating 4.6 for Star Wars (1977)
Predicted rating 4.6 for Shawshank Redemption, The (1994)
Predicted rating 4.5 for Schindler's List (1993)
Predicted rating 4.5 for Raiders of the Lost Ark (1981)
Predicted rating 4.5 for Usual Suspects, The (1995)
Predicted rating 4.5 for Titanic (1997)
Predicted rating 4.4 for Close Shave, A (1995)
Predicted rating 4.4 for Wrong Trousers, The (1993)
Predicted rating 4.4 for Empire Strikes Back, The (1980)
Predicted rating 4.4 for Braveheart (1995)
“4.4 梯度下降法实践 2-学习率 ” 在视频中吴恩达老师谈及了不少的关于学习率的很好的处理细节,但是pdf笔记中有些简单掠过或者省略不提,当然自己可以记笔记补充上去,不过希望后期可以在pdf笔记中增加,造福别人(初学者)哈哈。下面是我认为比较重要的细节,但是笔记中好像没有怎么提到。
请问 笔记能否转载到我的公众号,我会指明来处和链接
您好
机器学习视频下载链接:https://pan.baidu.com/s/1raoOPOg 密码:48m8,包含视频和字幕,下载后解压,建议用potplayer播放,此视频与mp4一致。
显示验证码错误
如题,笔记的md文档的公式全部显示为$\ ***** $
(4) y = logaX 则:y' = 1/(xlna)
您好,我是新手。我在网易云课堂上面学习吴恩达老师的课程。有用到一些数据的文件,请问您知道在哪里可以下载吗
delete,估计是mac自身文件有问题
4.3 梯度下降法实践1-特征缩放
最简单的方法是令:${{x}{n}}=\frac{{{x}{n}}-{{\mu}{n}}}{{{s}{n}}}$
应为
${{x}{n}}=\frac{{{x}{n}}-{{\mu}{n}}}{{{s}{n}}}$,其中
fun: 0.31677973007087407
jac: array([ -4.85498059e-05, 1.52435475e-09, -2.42237461e-08, ...,
5.36244893e-05, 5.82601644e-05, 7.84943560e-05])
message: 'Max. number of function evaluations reached'
nfev: 400
nit: 28
status: 3
success: False
x: array([ 0.00000000e+00, 7.62177373e-06, -1.21118731e-04, ...,
-1.12048523e+00, -1.00430109e+00, 1.42107038e+00])
这里x中的array就是最后得到的theta值吧?第一个是0的话偏置单元不就没有意义了吗?求大佬解惑~
机器学习个人笔记完整版v5.33 246页跟新函数,少了括号
pdf下载有百度云么,谢谢
后面17 18还没有,是因为之前的视频就没有吗
多变量线性回归-特征归一化部分,data2 = (data2 - data2.mean()) / data2.std() 代码应改为data2 = (data2 - data2.mean()) / data2.std(ddof=0)吧
IN [12]
lr_cost(theta, X, y)#返回theta的值
这里返回的是代价函数的值
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.