the same person howeverthe site doesn' know which pictures show whomand it doesn' know how many different people appear in your photo collection sensible approach would be to extract all the faces and divide them into groups of faces that look similar hopefullythese correspond to the same personand the images can be grouped together for you challenges in unsupervised learning major challenge in unsupervised learning is evaluating whether the algorithm learned something useful unsupervised learning algorithms are usually applied to data that does not contain any label informationso we don' know what the right output should be thereforeit is very hard to say whether model "did well for exampleour hypothetical clustering algorithm could have grouped together all the pictures that show faces in profile and all the full-face pictures this would certainly be possible way to divide collection of pictures of people' facesbut it' not the one we were looking for howeverthere is no way for us to "tellthe algorithm what we are looking forand often the only way to evaluate the result of an unsupervised algorithm is to inspect it manually as consequenceunsupervised algorithms are used often in an exploratory settingwhen data scientist wants to understand the data betterrather than as part of larger automatic system another common application for unsupervised algorithms is as preprocessing step for supervised algorithms learning new representation of the data can sometimes improve the accuracy of supervised algorithmsor can lead to reduced memory and time consumption before we start with "realunsupervised algorithmswe will briefly discuss some simple preprocessing methods that often come in handy even though preprocessing and scaling are often used in tandem with supervised learning algorithmsscaling methods don' make use of the supervised informationmaking them unsupervised preprocessing and scaling in the previous we saw that some algorithmslike neural networks and svmsare very sensitive to the scaling of the data thereforea common practice is to adjust the features so that the data representation is more suitable for these algorithms oftenthis is simple per-feature rescaling and shift of the data the following code (figure - shows simple examplein[ ]mglearn plots plot_scaling( unsupervised learning and preprocessing